数据结构-线性表
1.数据结构的定义: 数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” 数据结构(data structure)是计算机中存储、组织 数据的方式。通常情况下,精心选择的数据结构可以 带来最优效率的算法。” 2.算法定义: 一个有限指令集\r\n接受一些输入(有些情况下不需要输入); 产生输出; 一定在有限步骤之后终止; 每一条指令必须: 有充分明确的目标,不可以有歧义 计算机能处理的范围之内 描述应不依赖于任何一种计算机语言以及具体的实现 手段 3.线性表及其实现: “线性表(Linear List)”:由同类型数据元素构成有序序列的线性结构: 表中元素个数称为线性表的长度 线性表没有元素时,称为空表 表起始位置称表头,表结束位置称表尾 4.线性表的抽象数据类型: 类型名称:线性表(List) 数据对象集:线性表是 n (≥0)个元素构成的有序序列( a1, a2, ,an ) 操作集:线性表L List,整数i表示位置,元素X ElementType,线性表基本操作主要有: 1、List MakeEmpty():初始化一个空线性表L; 2、ElementType FindKth( int K, List L ):根据位序K,返回相应元素 ; 3、int Find( ElementType X, List L ):在线性表L中查找X的第一次出现位置; 4、void Insert( ElementType X, int i, List L):在位序i前插入一个新元素X; 5、void Delete( int i, List L ):删除指定位序i的元素; 6、int Length( List L ):返回线性表L的长度n。 5.线性表的顺序存储实现: 利用数组的连续存储空间顺序存放线性表的各元素 链式存储实现:不要求逻辑上相邻的两个元素物理上也相邻;通过“链”建 立起数据元素之间的逻辑关系 6.广义表: 广义表是线性表的推广 对于线性表而言, n个元素都是基本的单元素; 广义表中,这些元素不仅可以是单元素也可以是另一个广义表。 多重链表:链表中的节点可能同时隶属于多个链
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构