数据结构与算法
ChaosMeta博客
“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.”
展开
-
Golang-排序
1.冒泡排序步骤1: 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 步骤2: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 步骤3: 针对所有的元素重复以上的步骤,除了最后一个; 步骤4: 重复步骤1~3,直到排序完成。func BubbleSort(array *[]int) { if array == nil {...原创 2020-02-20 13:53:05 · 317 阅读 · 0 评论 -
Golang-算法
1.在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:数组排序后找到重复数字,排序数组时间复杂度O(nlogmn)。 遍历数组建立哈希表,key存数组中的值,value存数组中值出现的次数。 遍历数组,当遍历到下标为i的数字(m)时,比较下...原创 2020-02-04 16:34:29 · 974 阅读 · 0 评论 -
Golang-队列
一.使用链表实现队列package Algorithmimport ( "container/list" "errors" "fmt" "sync")type Queue struct { list *list.List mutex sync.Mutex}func GetQueue() *Queue { return &Queue{ list:list...原创 2020-01-08 18:47:01 · 2933 阅读 · 0 评论 -
Golang-链表
一.链表的实现1.1 代码package Algorithmimport ( _ "container/list" "errors" "fmt")type Node struct { data interface{} pre *Node next *Node}type List struct { head *Node tail *Node len...原创 2020-01-07 18:36:48 · 668 阅读 · 0 评论