林丶同学
林丶同学
全部文章
数据结构与算法...
Laravel(10)
LeetCode精选题解(Go)(5)
Linux(5)
Mysql(3)
nginx(1)
PHP(6)
其他(2)
前端(2)
归档
标签
去牛客网
登录
/
注册
不够暖和你
你已走到海角天涯,我还在穿鞋,连鞋带都绑不好。
全部文章
/ 数据结构与算法(Go描述)
(共15篇)
循环队列的实现(Go)
循环队列的结构定义如下: // 循环队列结构定义 type CircularQueue struct { q []interface{} capacity int head int tail int }实现操作如下: 创建队列 元素入队 元素出队 判满 判空 遍历队...
2020-01-30
0
552
最小堆排序的实现(Go)
最小堆的特点是其父节点的值不大于任何一个字节点的值, 实现的是升序排序。 最小堆实现排序的原理,构建一个堆,不断的删除堆顶,这里的删除并不是完全删除,而是将堆顶移动到末尾,然后父节点开始下沉操作,最后成为一个有序序列。 代码如下: package main import "fmt&q...
2020-01-28
0
679
二叉堆的实现(Go)
二叉堆是完全二叉树或者近似完全二叉树,又分为最大堆和最小堆。本文实现的是最大堆, 最大堆的父节点一定大于其左右孩子节点,根节点是堆顶,也是堆中最大的元素。 以数组形式实现二叉堆,数组索引的特点如下: 索引为i的左孩子的索引是 (2*i+1); 索引为i的左孩子的索引是 (2*i+2); 索引为i的...
2020-01-28
0
846
LRU算法的实现(Go)
Go实现的LRU算法: package main const ( hostbit = uint64(^uint(0)) == ^uint64(0) LENGTH = 100 ) // LRU节点结构体定义 type LRUNode struct { prev *LRUNo...
2020-01-25
0
381
跳跃表的实现(Go)
跳跃表的结构定义如下: // 跳跃表节点结构体 type SkipListNode struct { val interface{} // 保存的值 score int // 用于排序的分值 level int // 层高 forwards []*SkipLi...
2020-01-25
0
560
查找算法的实现(Go)
实现算法: 线性查找 二分查找递归版 二分查找非递归 代码: package main // 线性查找 func LineSearch(arr[]int, val int) int { res := -1 for i := 0; i < len(arr); i++ { ...
2020-01-25
0
573
七种常见排序的实现(Go)
冒泡排序 package main import "fmt" // 比较函数 func compare(a, b int) bool { return a > b } // 冒泡排序, comp传入一个闭包, 作为是否交换值的条件判断 func Bubble...
2020-01-24
0
405
链式队列的实现(Go)
队列结构定义如下: // 队列结点 type QueNode struct { Val interface{} Next *QueNode } // 链式队列 type LinkedListQueue struct { Head *QueNode Tail *Qu...
2020-01-24
0
460
顺序队列的实现(Go)
顺序队列结构定义如下: type ArrayQueue struct { q []interface{} capacity int // 队列容量 head int // 队头指针 tail int // 队尾指针 }实现如下操作: 新建队列 元素入队 元素出队 队...
2020-01-24
0
383
链表栈的实现(Go)
链表栈的结构定义如下: type Node struct { Next *Node Val interface{} } type LinkedListStack struct { TopNode *Node // 栈顶结点 }实现操作如下: 栈是否空栈 取栈顶元素 入栈 ...
2020-01-23
0
570
首页
上一页
1
2
下一页
末页