![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
通俗易懂的数据结构_python实现
文章平均质量分 99
冷风的云
这个作者很懒,什么都没留下…
展开
-
递归算法及相关(1)_python实现_单链表反转/字符串反转/杨辉三角等经典算法
递归是非常常见的一种算法,非常经典,我估计大部分人知道递归,也能看的懂递归,但在实际运用中,却不知道如何使用,有时候还容易被递归给搞晕(尤其是来回的出栈入栈)。说实话,得练!这里,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助。文章目录什么是递归递归三定律递归调用的原理递归应用斐波那契数列进制转换字符串反转单链表成对的交换位置将单链表反转杨辉三角I杨辉三角II什么是递归递归是一种解决问题的方法,将问题分解成规模更小的问题,不断的调用自身,解决小问题,直至问题不可再分,递归一般都是从原创 2020-07-09 22:23:08 · 536 阅读 · 0 评论 -
通俗易懂的数据结构(5)_python实现_哈希表(散列表)
文章目录概念散列值散列表散列函数完美散列函数概念难点近似完美散列函数近似完美函数举例优势散列函数的要求散列函数的应用散列性质冲突以及解决冲突代码概念散列值把任意长度的输入,通过散列函数,变换成固定长度字符串的的输出,该输出就是散列值散列表散列表也称为哈希表,也是一种数据结构,它是由数据项的值确定数据存放的位置。散列表中的每一个存储位置,称之为槽,用来保存数据项(value),每个槽应该有唯一的标记(key)我觉得可以理解为这个数据结构存储的是一种映射关系,记录一个存储位置以及这个位置所存的数据,原创 2020-06-06 23:28:40 · 371 阅读 · 0 评论 -
几种基础算法的理解以及python实现,冒泡/二分/选择排序/插入排序/归并排序/快速排序
文章目录相关术语稳定性时间复杂度和稳定性一览查找数据(python实现)暴力查找二分查找排序(python实现)冒泡排序选择排序(O(n²))插入排序归并排序快速排序相关术语稳定性概念:如果值相同的元素在排序前后保证着排序前的相对位置,则称为稳定的排序,反之则为不稳定排序时间复杂度和稳定性一览这里只说平均复杂度冒泡 - O(n²) - 稳定排序插入 - O(n²) - 稳定排序选择 - O(n²) - 稳定排序快速 - O(nlog2(n)) - 不稳定排序归并 - O(nlog2(n原创 2020-05-29 23:14:23 · 275 阅读 · 0 评论 -
通俗易懂的数据结构(4)_python实现_队列/循环队列/优先队列
文章目录普通队列概念实现代码循环队列概念为什么要创造循环队列循环队列特点实现代码优先队列概念原理实现代码普通队列概念队列是一种有次序的数据集合,表现为向队列中添加数据时,永远在尾端添加,而移除数据则永远从队首删除。这里的队尾和队首都是指逻辑上的,比如用python的列表构造队列结构,那么你既可以将list[0]位置当作队首,也可以将list[last_position]位置当作队首,完全取决于你自己对于数据的把控,时间复杂度的取优等方面的考虑实现代码# 利用内置数据类型list构建队列数据结原创 2020-05-22 22:04:51 · 318 阅读 · 0 评论 -
通俗易懂的数据结构(3)_python实现_树结构
文章目录概念术语树结构特点生活中的例子二叉树概念特点特殊二叉树的类型平衡二叉树满二叉树完全二叉树满二叉树和完全二叉树的区别二叉树的特点二叉树的实现(基于python)嵌套列表法结点链表法二叉树的遍历(解释及代码)前序遍历中序遍历后序遍历层序遍历二叉树的常见应用堆(heap)二叉搜索树(BTS)表达式树(讲解及代码)概念树是n个有限结点的有限集合。n=0为空树。在任意一课非空树中:有且仅有一个根结点,当n>1时,其余结点可分为m个互不相交的有限集,每个集合本身又是一棵树,称为根的子树术语边/原创 2020-05-16 20:55:44 · 473 阅读 · 1 评论 -
通俗易懂的数据结构(2)_python实现_线性结构
文章目录线性结构的概念三种主要线性数据结构类型列表-LIST顺序存储(数组实现)数组两大特点你所要了解的数组操作增加数组大小减小数组的大小数组中插入一项数组中删除一项时间复杂度链式存储(链表实现)特点构建节点类链表操作(代码实现)遍历搜索目标值替换第i项位置的数据在任意索引位置插入节点在任意位置删除节点时间复杂度列表接口栈-STACK特点生活中的例子(加深理解)经典应用部分应用代码实现队列-QUEUE特点生活中的例子(加深理解)经典应用部分应用代码实现约瑟夫/热土豆理论生产者消费者模型线性结构的概念原创 2020-05-11 09:11:06 · 449 阅读 · 0 评论 -
通俗易懂的数据结构(1)_python实现_数据结构基础及算法基础
文章目录数据结构基础概念相关抽象数据的理解两种视角,两种结构数据结构的意义生活中的逻辑接口和物理接口(加深理解)算法基础概念相关算法的意义算法特征好算法的基本要求算法效率的考量大O表示法概念及理解计算方法常用的时间复杂度时间复杂度排序数据结构基础概念相关数据结构就是相互之间存在一种或多种特定关系的数据元素的集合举例来说:python自带的基本数据类型list(),由于底层结构是数组,所以...原创 2020-05-05 20:40:53 · 220 阅读 · 0 评论