![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
无_空
每天改变一点,做回真实的自己
展开
-
数据结构之线性结构---栈 链式储存
一、链式储存的特点:栈的链式储存是通过链表的方式进行储存,链式储存的优点在于 1、比顺序存储结构的存储密度小 每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多。2、逻辑上相邻的节点物理上不必相邻。3、插入、删除灵活 不必移动节点,只要改变节点中的指针。二、栈的链式储存实现AL_Node.h#ifndef AL_NODE_INCLUDE#define AL_NODE_原创 2016-10-09 15:33:51 · 813 阅读 · 0 评论 -
数据结构之线性结构---队列 顺序储存
一、队列的特点队列是一种比较特殊的数据结构,它只允许在一端插入元素,而在另一段删除元素,队列也是一种先入先出的数据结构允许插入的一端叫做队尾,而允许删除的一端叫做队头。向队列中插入元素:向队列中删除元素:在队列中我们为了记录队头和对位的位置通常会建立一个指针来记录队头和对队尾,即队头不一定是内存中下标为0的内存位置。这样可以在使用顺序储存的时候,不必再删除一个元之后移动全部的元素,而造成移动元素的的原创 2016-10-31 23:45:52 · 526 阅读 · 0 评论 -
数据结构之线性结构---队列 链式储存
一、队列链式储存的特点在使用顺序储存创建一个队列是,此时这个队列是有限储存的,有时候无法满足我们的储存需要,而队列的链式储存则是使用单链表作为一个容器,在单链表的基础上限制了元素的进入出去的方式而形成了,队列这个暑假结构。向队列中插入元素: 弹出队列中的一个元素: 二、队列的链式储存实现AL_Node.h#ifndef AL_NODE_INCLUDE#define AL_NODE_INCLUD原创 2016-11-03 14:34:48 · 471 阅读 · 0 评论 -
数据结构之线性结构--数组
一、什么是线性表 线性表是种由零个或者多个元素组成的有限序列,线性表强调元素是有限的,就像一个班的人数也是有限的,一个线性表中只有一个头和一个尾,中间的元素有一个前驱和一个后记。二、线性表的顺序储存方式1、 顺序储存结构中使用一片连续的内存来储存线性表中的所有元素。在C++中使用数组来实现储存。 2、顺序储存结构中的元素的插入方式 : 3、顺序储存结构中的元素的删除方式 ; 4、顺原创 2016-08-25 12:12:35 · 1100 阅读 · 0 评论 -
数据结构之线性结构 --循环单链表
一、循环链表的简介循环链表在单链表的基础上使最后的一个节点的指针指向开始的节点形成一个循环的数据结构体,没有空指针的出现。循环链表在操作上和单链表差不多,单需要注意的是最后一个节点的指针用于时指向头结点的地址的。二、循环链表的c++实现AL_Node.h文件代码#ifndef AL_NODE_INCLUDE#define AL_NODE_INCLUDE#include <windows.h>te原创 2016-10-04 21:46:58 · 1162 阅读 · 0 评论 -
数据结构之线性结构--单链表
三、链式储存结构1、 单链表 单链表的元素储存结构为 一个指向下一个元素的指针,和一个储存信息的变量,通过指针指向前一个元素或者后一个元素来实现元素与元素之间的关联。 单链表中的元素读取: 由于单链表中只能通过上一个元素的指针来获取下一个元素地址,所以在访问链表中的元素时,都必须从开始节点进行遍历寻找需要的元素。单链表中的元素插入: 单链表中的元素删除 : 单链表的原创 2016-10-02 21:04:41 · 777 阅读 · 0 评论 -
数据结构之线性结构--双向循环链表
一、双向循环链表特点双向循环链表的结构是在双向链表的基础上使头节点的前驱指针指向末尾的节点,而使末尾的节点的一个指针指向开始节点,形成一个循环结构。 双向循环链表在进行节点的删除的时候的操作: 双向循环链表在进行节点的插入时的操作: 二、双向循环链表的实现AL_Node.h文件#ifndef AL_NODE_INCLUDE#define AL_NODE_INCLUDE#include原创 2016-10-08 00:47:06 · 2945 阅读 · 0 评论 -
数据结构之线性结构--双向链表
一、双向链表在单链表中若需要查找某一个元素时,都必须从第一个元素开始进行查找,而双向链表除开头节点和最后一个节点外每个节点中储存有两个指针,这连个指针分别指向前一个节点的地址和后一个节点的地址,这样无论通过那个节点都能够寻找到其他的节点。 二、双向链表的基本操作双链表的删除除元素的时候需要注意的是,他有一个指向前驱指针和一个指向下一个节点的指针,当元素被删除时,上一个节点的指针会指向被删除节点的下原创 2016-10-02 21:39:16 · 4475 阅读 · 0 评论 -
数据结构之线性结构---栈 顺序储存
一、栈的特点栈是一种受限的线性表,它规定只能够在表的尾部进行插入和删除,我们把允许插入和删除元素的一端称为栈顶,而另一段称为栈底,没有任何元素的元素栈称为空栈。栈中的元素进出的规则为先入后出,即先进入栈的元素后出栈而后进入栈的元素先出栈。在对栈栈中的元素进行操作时只能够操作栈顶的元素。栈中储存元素的三种状态: 当储存的元素超过了栈的储存空间则会发生栈中元素的溢出。向栈中插入元素叫做入栈: t原创 2016-10-08 00:51:00 · 2323 阅读 · 0 评论 -
算法设计之算法概论
一、数据结构与算法之间的关系数据结构描述的是数据之间的储存关系,而算法则是为了解决一个问题,对数据进行一定操作而诞生的方法,二者相互联系,缺一不可。就像人和食物的关系,人不能够没有食物而存在,而食物的单独存在也没有任何意义。二、算法的定义算法是对解决特定的问题的方法步骤的描述,在计算机领域中表现为计算机指令的有序序列,每一个指令则执行一个或者多个操作。三、算法的特征1、有穷性 有穷性是指我们设计原创 2016-10-18 00:42:26 · 645 阅读 · 0 评论