Login
Discover
Waves
Communities
Login
Signup
sslinux
@sslinux
42
Linux技术爱好者
Followers
202
Following
40
Follow
Resource Credits
Available
Used
Location
China
Website
https://www.sslinux.com
Created
2018-05-06 13:27
RSS Feed
Subscribe
Posts
Blog
Posts
Comments
Communities
Wallet
sslinux
golang
2019-01-02 07:09
Golang Programming Datastructure BinaryTree.
二叉树 树有很多种,每个节点最多只能有两个子节点的一种形式称为二叉树; 二叉树的前序遍历,中序遍历,后序遍历 树的常用术语: 根节点root 父节点 子节点 叶子节点:没有子节点的节点; package main import "fmt" type Hero struct { No int Name string Left *Hero Right *Hero }
$ 0.000
1
sslinux
golang
2019-01-02 06:37
Golang Programming Datastructure----HashTable.
哈希 hash 哈希表基本介绍: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。 也就是说,它通过把关键码值映射到表中给一个位置来访问记录,以加快查找的速度。 这个映射函数叫做散列函数,存放记录的数组叫做散列表; google公司的一个上机题 有一个公司,当有新的员工来报道时,要求将员工的信息加入(id,性别,年龄,住址...),
$ 0.000
2
sslinux
cn
2019-01-01 17:50
Golang编程——使用递归解决迷宫问题。
递归(recursive) 迷宫问题(回溯) 递归的概念: 简单的说:递归就是函数/方法自己调用自己,每次调用时传入不同的变量。 递归有助于编程者解决复杂的问题,同时可以让代码变得简洁; package main import ( "fmt" ) func test(n int) { if n > 2 { n-- test(n) } fmt.Println("n=",
sslinux
cn
2019-01-01 16:49
Golang Programming DataStructure Stack(栈)
栈 Stack 栈的介绍: 有些程序员也把栈称为堆栈,即栈和堆栈是同一个概念; 栈的英文为stack 栈是一个先入后出(FILO--First In Last Out)的有序列表; 栈 是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表; 允许插入和删除的一端,为变化的一端,称为栈顶(Top), 另一端为固定的一端,称为栈底(Bottom).
sslinux
cn
2018-12-31 13:58
Golang编程之——排序算法性能大比拼(选择排序、插入排序、快速排序),快排要上天
选择排序、插入排序以及快速排序性能比较: 测试数据,选择排序和插入排序的数据:容量为100000的随机数组,快速排序的为容量为1000万的随机数组; 选择排序: 代码: package main import ( "fmt" "math/rand" "time" ) //编写函数selectSort,完成排序; func SelectSort(arr
sslinux
cn
2018-12-31 12:06
Golang Programming QuickSort(快速排序)
快速排序(Quick Sort) 快速排序(QuickSort)是对冒泡排序的一种改进; 基本思想是: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小, 然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据编程有序序列。 快速排序法应用实例: 要求:
sslinux
golang
2018-12-31 11:14
Golang Programming method of sort---insertion sort(插入排序)
插入排序(Insertion Sorting) 插入式排序属于内部算法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的; 插入排序(Insertion Sorting)的基本思想: 把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素;
sslinux
golang
2018-12-31 09:47
Golang Programming BubbleSort(冒泡排序)
冒泡排序(Bubble Sorting) 排序基本介绍: 排序是将一组数据,依指定的顺序进行排列的过程。 排序的分类: 1.内部排序: 指将需要处理的所有数据都加载到内部存储器中进行排序。 包括(交换式排序法、选择式排序法和插入式排序法); 2.外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序; 包括(合并排序法和直接合并排序法). 冒泡排序(Bubble Sorting)的基本思想:
sslinux
golang
2018-12-31 09:41
Golang编程——选择排序(Select Sort)
选择排序 常见排序方法: 冒泡排序 选择排序 插入排序 快速排序 1.冒泡排序 冒泡排序的(Bubble Sorting)的基本思想是:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元),就像水底下的气泡一样逐渐向上冒。
sslinux
cn
2018-12-30 10:09
Golang数据结构指乔瑟夫问题(Joseph)
单向环形链表的应用实例: Josephu问题: 设编号为1,2,....n的n个人围坐一圈, 约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列; 以此类推,知道所有人出列为止,由此产生一个出队编号的序列。 提示: 用一个不带头节点的循环链表来处理Josephu问题:
sslinux
cn
2018-12-30 09:00
Golang Programming Datastructure CircleSingleLink(环形单向链表)
单向环形链表 单向环形链表最经典的问题就是约瑟夫问题(Josephu). Josephu问题: 设编号为1,2,....n的n个人围坐一圈, 约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列; 以此类推,知道所有人出列为止,由此产生一个出队编号的序列。 提示: 用一个不带头节点的循环链表来处理Josephu问题:
sslinux
cn
2018-12-30 04:09
Golang Programming Datastructure--DoubleLink(双向链表)
双向链表 双向链表的应用实例: 使用带head头的双向链表实现-水浒英雄排行榜管理 单向链表的缺点分析: 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找; 单向链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除,所以前面我们单链表删除节点时,总是找到temp的下一个节点来删除的 。 代码实现: package main import "fmt"
sslinux
cn
2018-12-29 10:19
Golang Programming Datastructure Single Link(单向链表)
链表 链表是有序的列表; 在内存中的地址可能不是连续的,但在逻辑上是连续的; 可以利用链表来做自己的内存数据库; 单链表的介绍: 一般来说:为了比较好的对单链表进行增删改查的操作,我们都会给他设置一个头节点,头节点的作用主要是用来表示链表头,这个节点本身不存放数据; 单链表应用案例: 案例说明: 使用带head头的单链表实现 - 水浒英雄排行榜管理; 完成对英雄任务的增删改查操作;
sslinux
cn
2018-12-29 08:06
Golang Programming Datastructure--CircleQueue(环形队列)
数组模拟环形队列 对前面的数组模拟队列的优化,充分利用数组。因此将数组看做是一个环形的。(通过取模的方式来实现即可)。 提醒: 尾索引的下一个为头索引是表示队列满,即将队列容量空出一个作为约定,这个在做判断队列满的时候需要注意[ (tail + 1) % maxSize = head 满] tail == head [空] 分析思路: 1.什么时候表示队列满? (tail + 1) % maxSize
sslinux
golang
2018-12-29 07:11
Golang Program Dtastructure——SingleQueue
队列(queue) 队列原理:先进先出; 队列是一个有序列表,可以用数组或是链表来实现; 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出; 队列的应用场景: 银行排队叫号; 使用数组模拟队列: 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下,其中maxSize是该队列的最大容量。 因为队列的输出、输入是分别从前后端来处理。因此需要两个变量 front
sslinux
golang
2018-12-29 06:05
Golang Program Datastructure——SparseArray(稀疏数组)
稀疏数组(sparse array) 需求: 编写五子棋程序中,有存盘退出和续上盘的功能; 分析: 因为二维数组的很多值是默认值0,因此记录了很多没有意义的数据 --> 稀疏数组; 稀疏数组基本介绍: 当一个数组中大部分元素为0 ,或者为同一个数值时,可以使用稀疏数组来保存该数组; 稀疏数组的处理方法: 记录数组一共有几行几列,有多少个不同的值;
sslinux
golang
2018-12-29 05:06
Golang program datastructure introduction
数据结构的介绍: 数据结构是一门研究算法的学科,自从有了编程语言也就有了数据结构。学号数据结构可以编写出更加漂亮,更加有效率的代码; 要学习号数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决; 程序的核心 = 数据结构 + 算法 界面 业务逻辑 数据结构和算法的关系:
sslinux
test
2018-12-29 04:25
test youtube videos embed in steemit
文昭谈古论今。
sslinux
golang
2018-12-20 04:59
Golang面向对象编程-多态(使用interface实现)-快速入门
USB接口就是现实中的接口: 你可以把手机,相机,u盘都插在usb插槽上。 package main import "fmt" //define a interface type Usb interface { //声明了两个没有实现的方法; Start() Stop() } type Phone struct { } type Camera struct { }
sslinux
password
2018-11-11 10:22
AES五种加密模式(CBC、ECB、CTR、OCF、CFB
AES五种加密模式(CBC、ECB、CTR、OCF、CFB) 分组密码有五种工作体制: 1.电码本模式(Electronic Codebook Book (ECB)); 2.密码分组链接模式(Cipher Block Chaining (CBC)); 3.计算器模式(Counter (CTR)); 4.密码反馈模式(Cipher FeedBack (CFB)); 5.输出反馈模式(Output FeedBack
← Latest
Older →