![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【数据结构】
文章平均质量分 84
远在远方的风比远方更远
这个作者很懒,什么都没留下…
展开
-
线性表——Data Structure(C语言描述)
是时候补一补基础了,那么在算法之前,要搞定的就是数据结构。基本概念线性表的顺序存储结构线性表的顺序存储结构的表示和实现初始化一个空的线性表InitList销毁线性表DestroyList清空线性表ClearList判断线性表是否为空isEmpty获取长度getLength根据位置获取元素GetElem比较两个元素是否相等compare查找元素FindElem查找前驱元素PreE原创 2017-04-01 15:44:19 · 2676 阅读 · 1 评论 -
一道算法题(目前未解)
有一个水池,这个水池很特别,水池由若干体积为1平方米的立方块和两面玻璃墙组成,方块在XY平面上排布,然后在这些方块组成的结构两边贴上玻璃墙,并向里面灌水,这个特殊的水池能装下多少吨水呢? 用整数序列表示方块在x方向上的排布情况,若方块排布情况为[0, 2, 1, 3, 0, 2, 4, 2, 3, 0, 3],则其构成的水池形状和装水情况如下图所示,能装的水量为9吨。 对于任意方块排布情况的水池原创 2017-10-26 15:06:31 · 545 阅读 · 1 评论 -
线性表链表表相关习题及详解(综合) ——数据结构
习题部分第一题设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点第二题在带头结点的单链表L中,删除所有值为x的结点,并释放空间,假设值为x的结点不唯一,试编写算法以实现上述操作。第三题设L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值第四题试编写在带头结点的单链表L中删除一个最小值结点的高效算法(假设最小值结点时唯一的)第五题试编写算法将带头结点的单链表就地逆置,所谓“就地”原创 2017-10-19 15:38:49 · 8183 阅读 · 2 评论 -
栈和队列的应用相关习题及详解 ——数据结构
习题部分选择题第一题一个问题的递归算法求解和其相对应的非递归算法求解() A. 递归算法通常高效一些 B. 非递归算法通常高效一些 C. 两者相同 D. 无法比较第二题执行()操作时,需要使用队列作为辅助存储空间 A. 查找散列(哈希)表 B. 广度优先搜索图 C. 前序(根)遍历二叉树 D. 深度优先搜索图第三题已知操作符包括‘+’‘-’‘’‘/’‘(’‘)’ 。将原创 2017-11-02 11:04:30 · 8404 阅读 · 1 评论 -
队列相关习题及详解(选择题和综合题) ——数据结构
队列的基本概念队列的定义队列(Queue):队列简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。这和我们日常生活中的排队是一致的,最早排队的也是最早离队的。其操作的特性是先进先出(First In First Out, FIFO),故又称为先进先出的线性表。队头(Front):允许删除的一端,又称为首队 队原创 2017-10-31 18:02:35 · 31031 阅读 · 8 评论 -
线性表链表表相关习题及详解(选择题) ——数据结构
本文章主要结合习题来回顾一下线性表中链表的相关知识,这方面还可以看我另一篇文章线性表——Data Structure(C语言描述)单链表typedef struct LNode{ //定义单链表结点类型 ElemType data; //数据域 struct LNode *next; //指针域}LNode,*LinkList;双链表typed原创 2017-10-12 15:18:42 · 5114 阅读 · 0 评论 -
线性表顺序表相关习题及详解 ——数据结构
重新系统的过一遍数据结构现在先回顾下它的定义#define MaxSize 50 //定义线性表的最大长度typedef struct{ ElemType data[MaxSize]; //顺序表的元素 int length; //顺序表的当前长度}SqList; //原创 2017-10-11 15:57:07 · 9557 阅读 · 4 评论 -
主要元素——数据结构与算法分析笔记
注:《数据结构与算法分析——Java》习题2.26 学习笔记原题描述:大小为N的数组A,其住元素是一个出现超过N/2此的元素(从而这样的元素最多有一个),例如数组 3,3,4,2,4,4,2,4,4 有一个主元素,而数组 3,3,4,2,4,4,2,4 没有主元素。 如果没有主元素,那么你的程序应该指出来。下面是求解该问题的一个算法的概要: 首先,找出主元素的一个候原创 2017-06-04 22:07:56 · 1065 阅读 · 0 评论 -
初探“递归”——由一道题目引出的问题
《数据结构与算法分析——C语言描述》递归的四条基本法则基准情形。必须总有些基准清醒,它无须递归就能解出(可以理解为加入初始条件)不断推进。对于那些需要递归求解的情形,每一次递归调用都必须要使求解状况朝接近基准情形的方向推进。设计法则。假设所有的递归调用都能运行。合成效益法则(compound interest rule)。在求解一个问题的同一实例时,切勿在不同的原创 2017-05-01 01:30:45 · 670 阅读 · 0 评论 -
栈相关习题及详解(选择题和综合题) ——数据结构
栈的基本概念栈的定义栈:只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但是限定这种线性表只能在某一端进行插入和删除操作。栈顶:线性表允许进行插入和删除的那一端 栈底:固定的,不允许进行插入和删除的另一端 空栈:不含任何元素的空表。进栈出栈的变化形式最先进栈的元素,是不是就只能是最后出栈呢答案是不一定,要看什么情况。栈对线性表的插入和删除的位置进行了限制,并没有对元素进出的时间进行限原创 2017-10-26 16:17:13 · 9835 阅读 · 0 评论