数据结构与算法
文章平均质量分 69
尹中文
移动开发者
展开
-
数据结构与算法4—队列
(1)表示空队列, rear==front==0。(4)A出队后,rear==front==3。再插入元素时,会出现假溢出的情况。3.出队列 OutQueue(&Q,&e) 将队列Q的队头元素删除,并用e返回其值,也称“退队”、“删除”。循环队列的物理存储未发生任何改变,其只是充分利用数组空间,想象将数组的首尾连接起来,形成一个循环队列。(c)B,C依次入队后, rear==3, front==0。(b)元素A入队后, rear==1, front==0。(a)表示空队列, rear==front==0。原创 2023-01-12 15:57:14 · 487 阅读 · 0 评论 -
数据结构与算法3—栈
采用顺序存储结构的栈简称为顺序栈。是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设整型变量top指示栈顶元素在顺序栈中的位置。top栈顶指针,惟一的确定一个链栈。链栈通常带有一个表头结点,所以top->next才指示栈顶元素。栈的几种状态(最大长度MaxSize为4):栈空、压栈、栈满、出栈。原创 2023-01-12 14:12:39 · 659 阅读 · 0 评论 -
数据结构与算法2—链表
在单链表中,最后一个结点的指针域为空。访问单链表中任何数据只能从链表头开始顺序访问,而不能进行任何位置的随机查询访问。如要查询的结点在链表的尾部则需遍历整个链表。所以单链表的应用受到一定的限制。双向链表用两个指针表示结点间的逻辑关系。其增加了一个指向直接前驱的指针域,这样形成的链表有两条不同方向的链,前驱和后继,因此称为双链表。操作①必须在操作③之前完成,否则*p的前驱结点就丢掉了。它将单链表中最后一个结点的指针指向链表的头结点,使整个链表头尾相接形成一个环形。带头结点且有n个结点的循环双链表。原创 2023-01-12 11:46:44 · 570 阅读 · 0 评论 -
数据结构与算法1—线性表
优点:顺序表中的任意数据元素的存储地址可由公式直接导出,因此顺序表可以“随机存取”其中的任意元素。数据结构的运算是定义在逻辑结构层次上的,而运算的具体实现则是建立在存储结构上的。(6)在线性表中删除元素:DeleteList(L,i)(5)插入新元素:InsertList(L,i,e)(7)把已有线性表置为空表:ClearList(L)(2)求线性表L的长度:GetLength(L)(4)按值查找:LocateList(L,e)(3)按序号取元素:GetNode(L,i)表中数据元素的类型是相同的。原创 2023-01-12 11:02:45 · 468 阅读 · 0 评论 -
数据结构与算法0—大纲
算法的特征:有穷性、确定性、可行性、输入(>=0)、输出(>=1)图大概一共有4中存储方式:邻接矩阵,邻接表,边集数组,十字链表。算法:是指解题方案的准确而完整的描述,是一系列解决问题的清晰。,算法代表着用系统的方法描述解决问题的策略机制.是指相互之间存在着一种或多种关系的。线性结构代表性结构有:线性表、 栈、队列。算法效率的度量:时间复杂度、空间复杂度。十字链表是有向图的一种链式存储结构。非线性结构代表性结构有:树、图。元素的集合和该集合中数据。原创 2023-01-12 10:46:21 · 290 阅读 · 0 评论