数据结构
文章平均质量分 79
GQL执念
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构学习笔录--二叉树的遍历
二叉树是一种重要的数据结构,总体来讲它是由根节点和左子树、右子树组成,具有几种不同的形态,分别是空树、只有根节点、只有根节点和左子树、只有根节点和右子树、有根节点以及左右子树。二叉树的左右子树是具有左右区分的。二叉树还具有一些特殊的结构,如斜二叉树、完全二叉树和完美二叉树,遍历一颗二叉树一般有四种方法,先序遍历、中序遍历、后序遍历和层序遍历。1、二叉树的几个重要性质(1)一个二叉树第i层最原创 2015-04-10 13:06:42 · 496 阅读 · 0 评论 -
判断一个单链表是否存在环
判断一个单链表是否有环及环的链接点(转)给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少?解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记转载 2015-04-18 20:17:35 · 378 阅读 · 0 评论 -
数据结构学习笔录---队列的实现
队列是一种特殊的线性表,对队列的操作具有一定的约束,一般来说,队列只能允许在一端删除元素,在另一端插入元素,就比如食堂打饭排队,具有先来先服务的特征。队列的存储同样有两种方法,顺序存储和链式存储。1、队列的顺序存储实现(1)数据结构typedef struct{ int Data[MAXSIZE]; int rear; int front;}Queue;(2)对队列原创 2015-04-06 15:02:10 · 462 阅读 · 0 评论 -
数据结构学习笔录——线性表的实现
线性表是一种最简单的线性结构,它是由同类数据元素组成的有序序列的集合。表中的元素个数称为表长,表中没有元素时称为空表,表的起始位置称为表头,表的结束位置称为表尾。线性表一般有两种方法存储,顺序存储和链式存储。以下是线性表的顺序存储实现:(1)数据结构的定义typedef struct list{ int Data[MAXSIZE]; int last;}List;里面包含一个存储原创 2015-04-04 10:48:26 · 413 阅读 · 0 评论 -
数据结构学习笔录--堆栈的实现
和队列一样,堆栈也是一个对操作有一定约束的线性表,进栈时只能在一端进行,出栈在另一端进行。就如同一叠盘子,先放的最后拿出来,最后放的最先拿出来,具有先入后出的特征。下面是堆栈的顺序存储实现和链式存储实现。1、堆栈的顺序存储实现(1)数据结构typedef struct Stack{ int Data[MAXSIZE]; int top;}stack;(2)一般操作bool原创 2015-04-07 19:00:20 · 377 阅读 · 0 评论 -
数据结构学习笔录--二叉搜索树
二叉搜索树是一种特殊的二叉树,它的特点是所有左子树的关键字都比根节点小,所有右子树的关键字都比根节点大,且左右子树均是二叉搜索树。因此,在这种树结构中查找某一关键字就变得很方便。下面是二叉搜索树相关的函数实现方法。1、二叉搜索树数据类型定义typedef struct TreeNode{ ElemType data; struct TreeNode *Left; struct Tre原创 2015-04-14 21:25:01 · 396 阅读 · 0 评论 -
数据结构学习笔录--堆的实现
堆可以看作是一种优先队列,它并不遵循先入先出的规则,而是根据元素的优先级(关键字的大小)来取出元素,例如2,4,6,1四个元素,数值代表优先级,则针对最大堆来讲,每次取出的元素都是数字最大的那个,即取出的顺序6,4,2,1,最小堆也是类似。在操作系统进行任务调度的时候,可以使用这种优先队列--堆来实现,保证每次运行的都是任务优先级最高的。下面是最大堆和最小堆的实现。1、最大堆(1)、抽象数原创 2015-04-20 14:57:13 · 387 阅读 · 0 评论
分享