![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
起个用户名太难了
种一棵树最好的时间是十年前,其次是现在
展开
-
Python数据结构与算法系列六:树
树1. 树的概念1.1 树的种类1.2 树的存储与表示1.3 常见的一些树的应用场景2. 二叉树2.1 二叉树的基本概念2.2 二叉树的性质(特性)2.2.1 完全二叉树2.2.2 满二叉树3. 二叉树的节点表示以及树的创建4. 二叉树的遍历4.1 深度优先遍历4.2 广度优先遍历(层次遍历) 1. 树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”原创 2020-11-06 10:35:13 · 102 阅读 · 0 评论 -
Python数据结构与算法系列五:排序与搜索(下)
排序和搜索下1. 归并排序1.1 归并排序的分析1.2 时间复杂度2. 常见排序算法效率比较3. 搜索3.1 二分法查找3.2 二分法查找实现3.3 时间复杂度 1. 归并排序 归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 1.1 归并排序的分析 def merge_原创 2020-11-05 21:57:51 · 201 阅读 · 0 评论 -
Python数据结构与算法系列五:排序与搜索(上)
排序和搜索1. 排序定义1.1 排序算法的稳定性1.2 冒泡排序1.2.1 时间复杂度 1. 排序定义 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。 1.1 排序算法的稳定性 稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。 当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对原创 2020-10-26 22:21:18 · 563 阅读 · 0 评论 -
Python数据结构与算法系列四:栈和队列
栈和队列1. 栈1.1 定义1.2 栈结构实现1.2.1 栈的操作1.2.3 测试2. 单端队列2.1 实现2.1.1 操作2.2.2 测试3. 双端队列3.1 操作3.2 实现 1. 栈 1.1 定义 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访原创 2020-10-22 09:31:52 · 456 阅读 · 0 评论 -
Python数据结构与算法系列三:链表
链表的定义1. 链表定义1.1 链表的优点2. 单向链表2.1 节点实现2.2 单链表的操作2.3 单链表的实现2.3.1 头部添加元素2.3.2 尾部添加元素2.3.3 指定位置添加元素2.3.4 删除节点2.3.5 查找节点是否存在2.3.6 测试2.4 单向链表和顺序表的比较 1. 链表定义 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。 1.1 链表的优点 顺序表的构原创 2020-10-19 15:09:23 · 671 阅读 · 0 评论 -
Python数据结构与算法系列二:顺序表
顺序表1. 顺序表定义1.1 基本类型顺序表1.2 外置类型顺序表2. 顺序表的结构和实现2.1 顺序表的结构2.2 顺序表的两种实现方式2.2.1 一体式结构2.2.2 分离式结构2.2.3 两种实现方式的比较3. 顺序表的操作3.1 增加元素3.2 删除元素4. 动态顺序表4.1 扩充的两种策略5. Python中的顺序表5.1 list的基本实现技术 1. 顺序表定义 将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示的一种数据结构 1.1 基本类型顺序表 对于元素类原创 2020-10-14 09:21:41 · 439 阅读 · 0 评论 -
Python数据结构与算法系列一:入门
算法1. 算法定义1.1 算法的五大特征2. 时间复杂度与大O表示法2.1 时间复杂度2.2 时间复杂度的基本计算规则2.3 常见时间复杂度及其大小关系2.3.1 常见时间复杂度2.3.2 常见时间复杂度大小关系 1. 算法定义 算法是独立存在的一种解决问题的方法和思想。 1.1 算法的五大特征 输入:算法具有0个或多个输入 输出:算法至少又一个或多个输出 有穷性:算法在有限的步骤后自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 确定性:算法中的每一步都有确定的含义,不会出现二义性 可原创 2020-10-12 21:22:45 · 459 阅读 · 0 评论