数据结构
文章平均质量分 76
Mark1614
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构之栈
栈是一种比较特殊的线性表。它最重要的特征就是遵循后进先出原则,而且它的进栈和出栈都在栈顶进行,所以它对元素进行插入和删除操作时相当于在线性表的一端进行。 对栈我们会有几步基本操作: (1)首先要建立一个空栈,即初始化一个栈; (2)向栈顶添加一个元素,即压栈; (3)删除栈顶的元素,即弹栈; (4)在压栈或弹栈的时候要检验栈是否已满或是否为空; (5)还可以清空栈; 栈可以分为链式栈原创 2015-11-26 20:05:07 · 307 阅读 · 0 评论 -
数据结构之链表
头结点:第一个有效结点之前的那个结点; 头结点并不存有效数据;加头结点的目的主要是为了方便对链表的操作 头指针:指向头结点的指针变量 尾指针:指向尾节点的指针变量 如果希望通过一个函数对链表进行处理,只需要一个参数:头指针 首先要定义一个单链表存储结构原创 2015-11-23 20:10:50 · 361 阅读 · 1 评论 -
数据结构之队列
队列是一种先进先出的线性表 针对队列 有初始化队列,入队,出队等关键操作。 入队时要注意队列是否已满,出队时要注意队列是否已空。 为了节约队列实际可用空间,不造成空间浪费,我们可以将顺序队列造成一个环状的空间,即循环队列。 #include #include typedef struct BIQueue { int* elements; int size; int head;原创 2016-01-12 15:44:06 · 331 阅读 · 0 评论 -
数据结构之二叉排序树
二叉排序树的建立思想是比较简单的,即首先建立一个根结点,然后插入值比根节点值小,就成为根节点的左孩子,比它值大则成为根节点的右孩子。 需要注意的就是我们应该对它的左右孩子是否为空进行判断,如果为空,则要建立新的结点;如果不为空,则直接赋值过去即可。#include #include #define size 7 typedef struct BNode { int key; struct原创 2016-01-12 16:04:12 · 495 阅读 · 0 评论 -
数据结构之图的的深度与广度优先遍历
图的广度优先遍历类似于树的按层次遍历过程。图的深度优先遍历类似于树中的先根遍历。树中不存在回路,但图中可能有回路,为避免走过重复的点,应该在每个结点设立一个访问标志,在遍历中,应为每个结点设立一个访问标志,每扫描到一个结点,要检查它的访问标志,若标志为“未访问”,则按正常方式对其进行处理(如访问或转到它的邻接点等);若标志为“已访问”,则扫描下一个结点。 #include #include i原创 2016-01-12 16:12:03 · 946 阅读 · 0 评论 -
数据结构之(prim)最小生成树
首先将其转化为邻接矩阵; 然后设置一个辅助数组included[],用来记录该顶点是否被访问,初始化为0; 设置 一个数组previous[],用来代表访问的前驱,初始化为-1; 设置distance[]数组用来存各边的距离。 i 0 1 2 3 4 5原创 2016-01-14 16:58:14 · 463 阅读 · 0 评论
分享