
数据结构
文章平均质量分 72
WeeJot
嵌入式软件工程师
展开
-
【数据结构】树
树(Tree)是(n>=0)个节点的有限集合T,它满足两个条件:(1) 有且仅有一个特定的称为根(Root)的节点。(2) 其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每一个集合又是一棵树,并称为其根的子树(Subtree)。原创 2025-01-13 09:22:37 · 1733 阅读 · 0 评论 -
【数据结构】双向链表
存储空间方面:双向存储空间大,因为每个节点中有两个指针。请完成如下双向链表的删除过程: (云尖软件开发笔试试题)(1) 将新节点的 prior 指针指向直接前驱节点。(2) 将直接前驱节点的 next 指针指向新节点。效率方面:双向链表效率高,因为可以从后往前遍历。原创 2025-01-12 00:00:00 · 872 阅读 · 0 评论 -
【数据结构】队列
注意:为了避免假溢出问题,即队列前面还有空闲,但是队尾已经出现越界,所以在实际使用队列时,为了使队列空间能重复使用,往往对队列的使用方法稍加改进,需要引入循环队列。实现出列: 如果out栈不为空直接让数据出栈,如果为空则把in栈的数据依次出栈入out栈, 这样先入栈的数据会在out栈顶。队列是只允许再两端进行插入和删除操作的线性表,在队尾插入,在队头删除,插入的一段被称为“队尾”,删除的一端被称为“队头”。实现入队: 如果in栈没满直接入栈,如果满了出栈之后入out栈,这样先入栈的会在out栈的栈顶。原创 2025-01-12 00:00:00 · 471 阅读 · 0 评论 -
【数据结构】栈
顺序栈额链式栈的区别?(1) 顺序栈是顺序存储,内存连续;链式栈是链式存储,内存不连续。(2) 顺序栈长度受限制,而链式栈不会。原创 2025-01-11 00:00:00 · 774 阅读 · 0 评论 -
【数据结构】链表
链表又称单链表、链式存储结构,用于存储逻辑关系为“一对一”的数据。和顺序表不同同,使用链表存储数据,不强制要求数据在内存中集中存储,各个元素可以分散存储在内存中。例如存数据1 2 3需要通过指针链接逻辑结构:线性结构存储结构:链式存储特点:内存不连续,大小不固定,通过指针链接。可以解决顺序表的长度固定的问题,以及插入删除麻烦的问题。操作:增删改查有头链表:存在一个头节点,头节点数据域无效,指针域有效。无头链表:每一个数据域和指针域都有效。原创 2025-01-11 00:00:00 · 556 阅读 · 0 评论 -
【数据结构】顺序表
进一步优化:通过添加全局变量last表示最后一个有效元素下标,可以去掉表示有效元素个数的参数了。原创 2025-01-10 00:00:00 · 720 阅读 · 0 评论 -
【数据结构】基础知识
获取关键数据,通过元素的关键码方法的返回值来获取。这样查找一个电话就可以先查找索引表,再查找对应的数据文件,加快了查询的速度。数据元素并不是孤立存在的,它们之间存在着某种关系(或联系、结构)。可以提高查找速度,特点检索速度快,但是占用内存多,删除数据文件要及时更改索引表。线性结构 ==> 一对一 ==> 线性表:顺序表、链表、栈、队列。数据项:数据的最小单位,描述数据元素的有用的信息。数据:不再是单纯的数字了,而是类似于集合的概念。在存储数据的同时,建立一个附加的索引表。数据的逻辑结构以及存储操作。原创 2025-01-10 00:00:00 · 577 阅读 · 0 评论