![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
蜉蝣。
这个作者很懒,什么都没留下…
展开
-
数据结构与算法基本概念及Python内置类型性能分析
1.概念1.1算法的概念算法是独立存在的一种解决问题的方法和思想。算法的五大特性输入: 算法具有0个或多个输入 输出: 算法至少有1个或多个输出 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 确定性:算法中的每一步都有确定的含义,不会出现二义性 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成1.2算...原创 2019-04-03 23:37:21 · 251 阅读 · 0 评论 -
数据结构中的顺序表
顺序表在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其...原创 2019-04-05 00:00:06 · 880 阅读 · 0 评论 -
用Python实现数据结构中的单向链表
链表为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。...原创 2019-04-05 00:15:55 · 221 阅读 · 0 评论 -
用Python实现数据结构中的双向链表
双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。操作is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(p...原创 2019-04-05 00:30:31 · 234 阅读 · 0 评论 -
用Python实现数据结构中的单向循环链表
单向循环链表单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。操作is_empty() 判断链表是否为空 length() 返回链表的长度 travel() 遍历 add(item) 在头部添加一个节点 append(item) 在尾部添加一个节点 insert(pos, item) 在指定位置pos添加节点 remov...原创 2019-04-05 01:05:53 · 154 阅读 · 0 评论 -
数据结构中的树与其中的二叉树
树的概念,术语,种类,存储形式,常见的一些应用场景。二叉树的基本概念,及性质。原创 2019-03-31 23:55:30 · 111 阅读 · 0 评论 -
数据结构中常见排序算法效率比较表
原创 2019-04-01 10:34:46 · 724 阅读 · 0 评论 -
数据结构中的二分法查找(用python实现)
搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找1.二分法查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关...原创 2019-04-01 10:31:59 · 880 阅读 · 0 评论 -
用python来实现数据结构中的二叉树的广度优先遍历,以及深度优先遍历中的前序遍历、中序遍历,后序遍历。
二叉树的深度优先遍历:先序遍历,中序遍历,后序遍历。广度优先遍历(层次遍历)。原创 2019-04-01 11:02:47 · 256 阅读 · 0 评论