- 博客(8)
- 收藏
- 关注
原创 golang 快排
package mainimport "fmt"/* 快速排序 快速排序 复杂度 N * (logN) 原理为有两个指针:low, high 分别指向列表的第一个元素,和列表最后一个元素,和一个中间值 mid(就是取列表的第一个元素) 一开始 low 默认情况下就指向了mid, high 指向列表最后一个元素 [8, 3, 15, 7, 6, 2] ...
2019-06-21 13:49:28 960
原创 python 快排
def quick(lst, start, end): """ 快速排序 复杂度 N * (logN) 原理为有两个指针:low, high 分别指向列表的第一个元素,和列表最后一个元素,和一个中间值 mid(就是取列表的第一个元素) 一开始 low 默认情况下就指向了mid, high 指向列表最后一个元素 [8, 3, 15, 7, 6, 2] ...
2019-06-21 13:47:57 1408 1
原创 golang 实现二叉树遍历
前序遍历 前序遍历的顺序是 根 -----> 左子树 -----> 右子树中序遍历中序遍历的顺序是 左子树 -----> 根 ------> 右子树后序遍历后序遍历的顺序是 左子树 -----> 右子树 -----> 根package mainimport "fmt"// 二叉树的数据结构type TreeNode struct {...
2019-06-16 23:26:48 2229
原创 python 实现二叉树(有序)的遍历
前序遍历 前序遍历主要是顺序是 根 -----> 左子树 -----> 右子树中序遍历 中序遍历的主要顺序是 左子树 -----> 根 -----> 右子树后序遍历后序遍历的主要顺序是 左子树 -----> 右子树 -----> 根class Node(object): def __init__(self, data):...
2019-06-16 23:22:18 475
原创 golang实现双链表
双链表的定义一个节点包含数据区,还有一个指针指向前一个节点,一个指针指向后一个节点因此实现双链表需要定义这样的一个数据结构数据结构的定义import "fmt"type Node struct { Data int Prev *Node Next *Node}实现链表功能的封装type DeLinkList struct { head *Node # 由于链表任何操作都...
2019-06-03 14:06:50 628
原创 python实现双向链表
双向链表的定义数据节点包含两个指针,一个指向前一个元素,一个指向后一个元素,因此需要定义一个双链表的数据结构完整代码如下:# 数据结构定义class Node: """ 双向链表,每个节点除了指向下一个元素之外,还需要指向前一个元素 1---->2<=====>3<====>4---->None """ def ...
2019-06-03 13:58:29 232
原创 golang实现栈,队列
栈(LIFO)package mainimport ( "fmt" "sync")/* 使用 golang 实现栈 栈是一种LIFO(Last In First Out) 的数据结构,可以封装一个slice实现 */type Stack struct { s []int Mutex sync.Mutex}func (self *Stack) Push(value...
2019-06-02 14:02:02 801
原创 python实现栈,队列
栈(LIFO)class Stack(object): """ 使用 python 实现栈 栈是一种LIFO(Last In First Out) 的数据结构,可以封装一个list实现 """ def __init__(self): self.__stack = list() def push(self, value): ...
2019-06-02 13:59:07 711
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人