![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
酷酷的橙007
哈尔滨工业大学控制科学与工程专业博士在读,前端工程师,算法工程师
展开
-
数据结构之几种常见的排序算法(二)——希尔、计数、桶排、基数
希尔排序希尔排序是一种分组插入排序算法首先取一个整数d1=n/2,将元素分为d1个组,每组相邻两元素之间的距离为d1,在各组内进行直接插入排序;取第二个整数d2=d1/2,重复上述分组排序过程,直到di=1,即所有元素在同一组内进行直接插入排序。希尔排序每趟并不使某些元素有序,而是使整体数据越来越接近有序;最后一趟排序使得所有数据有序。重点代码:# 修改插入排序间隙def ...原创 2020-03-12 23:02:25 · 244 阅读 · 0 评论 -
堆排序
堆大根堆:一棵完全二叉树,满足任一节点都比其孩子节点大小根堆:一棵完全二叉树,满足任一节点都比其孩子节点小堆的向下调整性质假设:节点的左右子树都是堆,但自身不是堆当根节点的左右子树都是堆时,可以通过一次向下的调整来将其变换成一个堆。堆排序过程【1】建立堆【2】得到堆顶元素,为最大元素【3】去掉堆顶,将堆最后一个元素放到堆顶,此时可通过一次调整重新使堆有序【4】堆...原创 2020-03-12 12:06:09 · 100 阅读 · 0 评论 -
常见的数据结构(顺序表、链表、栈和队列、二叉树)
目录逻辑结构分类存储结构分类线性表线性表的顺序存储线性表的链式存储栈和队列栈队列逻辑结构分类线性结构对于数据结构而言,线性结构是n个数据元素的有序集合。集合中必存在唯一的一个“第一个元素”;集合中必存在唯一的一个“最后的元素”;除最后元素之外,其他数据元素均有唯一的“后继”;除第一个元素之外,其他数据元素均有唯一的“前驱”。树形结构(层次结构)树形结构指的是数据元素之间...原创 2020-02-29 23:10:46 · 2673 阅读 · 0 评论 -
二分查找的两种实现方式
二分查找是一种常用的算法,其输入是一个有序的元素列表(必须是有序的),如果查找的元素包含在列表中,二分查找返回其位置,否则返回False。由于二分查找每次都是将序列折半,因此时间复杂度为O(logn)。下面按照非递归和递归两种形式利用python进行实现:循环(非递归):def er_fen(li,value): start=0 end=len(li)-1 while ...原创 2020-02-16 10:56:34 · 443 阅读 · 0 评论 -
数据结构之几种常见的排序算法(一)——冒泡、选择、插入、快排、归并
冒泡排序def bubble_sort(alist): n = len(alist) for i in range(0, n-1): for j in range(i+1, n): if alist[j] < alist[i]: alist[i], alist[j] = alist[j], alis...原创 2020-02-11 14:56:11 · 206 阅读 · 0 评论 -
二叉搜索树创建、遍历、插入和查找操作
二叉搜索树(binary search tree)是一棵二叉树,且满足该节点所有的左孩子都比它小,所有的右孩子都比它大,对搜索二叉树的每个节点需要满足上述条件,如下所示:为了构建上述二叉搜索树,首先跟普通二叉树一样,定义节点类:class BiTreeNode: def __init__(self,data): self.data=data # 节点的值 ...原创 2020-02-10 11:43:16 · 431 阅读 · 0 评论 -
动态规划之0-1背包问题
背包问题是动态规划问题中的一个经典问题,基本问题可以描述成如下:有一个贼半夜去某个人家偷东西,家里一共有n个东西,这n个东西有各自的重量(weight_1,weight_2…weight_n),对应的价值为(value_1,value_2…value_n),而这个贼的背包所容纳的重量(简称容量)是有限的,表示为capacity。问这个贼如何装东西可以使拿到的所有物品价值最大?对于这类问题用递归...原创 2020-02-07 16:34:08 · 152 阅读 · 1 评论 -
关于二叉树以及对应的前序、中序、后序以及层次遍历
关于二叉树的前序、中序、后序三种遍历 最近在学数据结构,关于二叉树的遍历问题看了好久,突然翻到一个大神写的博客very nice,拿来引用一下,转载来自 https://blog.csdn.net/qq_33243189/article/details/80222629 二叉树遍历分为三种:前序、中序、后序,其...原创 2019-04-03 22:19:02 · 1858 阅读 · 0 评论