文章分类 - 数据结构与算法
摘要:阅读目录 一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序 五、快速排序 六、归并排序 一、冒泡排序 冒泡排序原理: 1.将原始列表中的最大值找出且放置在列表最右侧(将元素两两比较,将数值大的数逐步向后移动) 2.重复执行步骤1 代码步骤: 第一步: #将原始列表中的最大值找出且放置在列表最右
阅读全文
摘要:阅读目录 一、查找/搜索实现(list) 二、顺序查找 三、二分查找 四、hash查找 一、查找/搜索实现(list) 我们现在把注意力转向计算中经常出现的一些问题,即搜索或查找的问题。搜索是在元素集合中查找特定元素的算法过程。搜索通常对于元素是否存在返回 True 或 False。有时它可能返回元
阅读全文
摘要:阅读目录 一、二叉树 二、二叉树的相关性质 三、二叉树的数据结构(排序方式) 四、python实现二叉树 五、排序二叉树 一、二叉树 1.1 二叉树的定义: 二叉树是一种特殊的树,它具有以下特点: (1)树中每个节点最多只能有两棵树,即每个节点的度最多为2。 (2)二叉树的子树有左右之分,即左子树与
阅读全文
摘要:阅读目录 一、理解计算机内存 二、顺序表 三、链表 四、单向链表: 五、单向循环链表 六、双向链表 一、理解计算机内存 计算机的作用:对数据进行存储和运算。首先我们需要知道我们目前使用的计算机都是二进制的计算机,就以为着计算机只可以存储和运算二进制的数据。例如下载好的一部电影,该电影可以存储到计算机
阅读全文
摘要:阅读目录 一、线性数据结构 二、栈 三、Python实现栈 四、栈的应用实例(URL存放机制) 一、线性数据结构 我们从四个简单但重要的概念开始研究数据结构。栈,队列,deques(双向队列), 列表是一类数据的容器,它们数据元素之间的顺序由添加或删除的顺序决定。一旦一个数据元素被添加,它相对于前后
阅读全文
摘要:阅读目录 一、双端队列(Deque) 二、Python实现Deque 三、双端队列的应用案例(回文检查) 一、双端队列(Deque) 概念:deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。 特性:deque 特殊之处在于添加和删除项是非限制性
阅读全文
摘要:阅读目录 一、数据结构分析引言 二、数据结构分析(列表的几种创建形式) 三、基于timeit模块应用(测试模块的平均耗时) 三、基于列表与字典操作的时间复杂度(参考值): 一、数据结构分析引言 现在大家对 大O 算法和不同函数之间的差异有了了解。本节的目标是告诉你 Python 列表和字典操作的 大
阅读全文
摘要:阅读目录 一、什么是计算机科学? 二、如何形象化的理解算法? 三、什么是算法分析? 三、时间复杂度 四、数据结构 一、什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具而已。所谓的计算机科学实际
阅读全文
摘要:阅读目录 一、队列概述 二、Python实现队列 三、队列的应用实例(烫手的山芋) 一、队列概述 概念:队列是项的有序结合,其中添加新项的一端称为队尾,移除项的一端称为队首。当一个元素从队尾进入队列时,一直向队首移动,直到它成为下一个需要移除的元素为止。最近添加的元素必须在队尾等待。集合中存活时间最
阅读全文

浙公网安备 33010602011771号