![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
科展好好
这个作者很懒,什么都没留下…
展开
-
单链表
单链表单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。单链表的最大特点是可以将物理地址上不连续的数据连接起来,通过指针来对物理地址进行操作,实现增删改查等功能。单链表分为两种:有头链表和无头链表。...原创 2019-01-04 18:30:28 · 196 阅读 · 0 评论 -
比较排序-冒泡排序
冒泡排序一、定义冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。二、用python实现冒泡排序冒泡排序原理每次对相邻的两个元素进行比较,若前者大于后者则进行交换,如此一趟下来最后一个...原创 2019-01-18 17:32:20 · 207 阅读 · 1 评论 -
单向循环链表
单向循环链表单向循环链表:在单向链表中,头指针是相当重要的,因为单向链表的操作都需要头指针,所以如果头指针丢失或者破坏,那么整个链表都会遗失,并且浪费链表内存空间。单向循环链表的构成:如果把单链表的最后一个节点的指针指向链表头部,而不是指向NULL,那么就构成了一个单向循环链表。python实现单向循环链表class Node(): '''单循环链表的结点:next默认...原创 2019-01-14 10:53:12 · 536 阅读 · 0 评论 -
双向链表
双向链表单向链表相对数组来说已经有很多优点了,但是,它还有一个最大的弊端,每次查找元素时都要一路遍历,没办法倒回来,这种特性在进行数据操作时,会大大浪费时间,鉴于此,出现了双向链表的概念。双向链表(双链表)是链表的一种。和单链表一样,双链表也是由节点组成,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点...原创 2019-01-14 10:55:08 · 367 阅读 · 0 评论 -
栈
栈一、栈的定义"栈"者,存储货物或供旅客住宿的地方,如客栈。栈房。可引申为仓库、中转站货栈。所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。栈是一种运算受限的线性表,是限定仅在表头进行插入和删除操作的线性表。能进行插入和删除操作的一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶...原创 2019-01-14 12:27:59 · 195 阅读 · 3 评论 -
队列
队列一、队列的定义队列和栈一样,是一种操作受限制的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作;进行插入操作的端称为队尾,进行删除操作的端称为队头。就像生活中的排队一样,有着先进先出的特点,先来排队的先处理,后来排队的后处理,所以队列是一种可以实现“先进先出”的存储结构。队列通常可以分为两种类型:1、顺序队列,采用顺序存储,当长度...原创 2019-01-15 12:15:13 · 153 阅读 · 0 评论 -
双端队列
双端队列一、双端队列的定义队列限定了一端只能插入,另一端只能删除。而双端队列是指允许两端都可以进行入队和出队操作的队列,其元素的逻辑结构仍是线性结构。将队列的两端分别称为前端和后端,两端都可以入队和出队。二、用python实现双端队列'''用python 列表实现双端队列'''class Deque(object): def __init__(self): '...原创 2019-01-15 12:22:43 · 281 阅读 · 0 评论