
数据结构
fangsi1994_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构
数据结构 初识数据结构 数据结构( data structure )是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 注:定义来自百度百科。 学习数据结构的意义 在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的...原创 2019-08-05 23:10:55 · 98 阅读 · 0 评论 -
队列其他功能
队列的其他实现 队列有两种实现形式,数组和链表。我们在前面已经介绍了如何用链表实现的队列,这里就不再赘述,直接给出另一种用数组实现的队列代码,供大家学习参考。 形式:用数组实现 class Queue(): def __init__(self): self.entries = [] #表示队列内的参数 self.length = 0 #表示队列的长度...原创 2019-08-06 08:45:22 · 90 阅读 · 0 评论 -
队列功能
基本功能介绍 队列有两种实现形式,分为两种:数组和链表。 在接下来的内容里,我们将以链表的形式实现队列,逐步介绍具体功能是如何实现的。 1. 创建 Node 类 创建一个 Node 的类,作为基础数据结构:链点,并初始化对应的内参。 具体实现代码如下 class Node(object): def __init__(self,elem,next=None): ...原创 2019-08-06 08:29:13 · 353 阅读 · 0 评论 -
队列
队列 队列 (queue) 是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 队列符合先进先出[FIFO]的原则。因为要排队的第一个项目,最终将是第一个要出列的项目,如在现实生活中的队列,先来的站在队列前面,后来的就只能站在队列后面...原创 2019-08-06 08:21:03 · 123 阅读 · 0 评论 -
链表练习
交换单链表里两个链点 在这个实验中,我们要给定两个值,如果这两个值都在单链表的链点中,即交换这两个链点在单链表的位置。 在/home/shiyanlou/下新建一个文件swap_nodes.py。 举例: 1->2->3->4->5 input:1 4 output:4->2->3->1->5 目标: 交换两个链点在链表中的位置 不改...原创 2019-08-06 08:15:39 · 120 阅读 · 0 评论 -
双链表
双向链表(Double_linked_list)也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 这里直接给出参考代码,大家有兴趣请自行探索,这里就不再详细介绍。 在/home/shiyanlou/下新建一个文件double_linked_list.py。 具体实现代码如下:...原创 2019-08-06 07:42:24 · 109 阅读 · 0 评论 -
单链表
链表分为单链表和双链表两种。在接下来的内容里,我们将逐步介绍单链表的具体功能是如何实现的。 1. 创建 Node 类 创建一个 Node 的类,作为基础数据结构:链点,并初始化对应的内参。 具体实现代码如下: class Node: def __init__(self, data): self.data = data #表示对应的元素值 ...原创 2019-08-06 07:30:52 · 166 阅读 · 0 评论 -
链表
链表(linked_list)是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。根据指针的指向,链表能形成不同的结构,例如单链表,双向链表,循环链表等。 链表通过将链点 i 与其邻居链点 i+1 通过指针相关联,从索引 0 到索引 N-1 对链点进行排序。 ...原创 2019-08-06 07:07:39 · 84 阅读 · 0 评论 -
栈
栈 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。 栈允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 由于堆叠数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Ou...原创 2019-08-06 06:54:20 · 106 阅读 · 0 评论 -
队列练习
设计队列的实现( 在这里我们要求用之前介绍的链表形式实现 ) 在队列中实现这些步骤: 初始化创建 Node, Queue 类 依次添加 21 35 58 13 进队列 返回队列头部元素 删除此时队列头部元素 返回此时队列头部元素 新建一个文件myqueue.py。 参考代码 注意:请务必自己独立思考解决问题之后再对照参考答案,一开始直接...原创 2019-08-06 10:00:13 · 489 阅读 · 0 评论