跳至內容
主選單
主選單
移至側邊欄
隱藏
导航
首页
最近更改
随机条目
特殊页面
站点
关于陋室
维基社群
新闻动态
联系我们
活跃用户
统计
参与
上传文件
待撰页面
新建页面
编辑入门
帮助
内容
分类树
所有页面
前缀索引
最多链入页面
热门页面
维护
MediaWiki 消息页
系统消息
小工具管理
小工具定义
用户组权限
界面
侧边栏
英文侧边栏
站点公告
匿名用户通知
公共样式表
公共脚本
陋室
搜尋
搜尋
中文(臺灣)
外觀
登入
個人工具
登入
沙盒
檢視线性表的原始碼
頁面
討論
臺灣正體
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
頁面資訊
Cargo 資料
取得短連結
外觀
移至側邊欄
隱藏
←
线性表
您沒有權限執行編輯此頁面,由於以下原因:
您請求的操作只有這些群組的使用者能使用:
使用者
、
自動確認使用者
您可以檢視並複製此頁面的原始碼。
== 线性结构的特点 == * 线性结构中的元素具有严格的一对一关系,表现为一个前驱和一个后继。 * 通常存储为顺序表(数组)或链表。 == 顺序表中第 <math>i</math> 个数据元素存储位置的计算 == '''公式:''' <math>\text{LOC}(a_i) = \text{LOC}(a_1) + (i - 1) \times L</math> * <math>\text{LOC}(a_i)</math>:第 <math>i</math> 个数据元素的存储地址。 * <math>i</math>:数据元素在表中的位置。 * <math>L</math>:每个元素所占存储单元大小。 该公式体现了顺序存储结构中地址的连续性,计算时间复杂度为 <math>O(1)</math>。 == 顺序表的基本操作 == * 取值:根据位置直接通过公式计算地址,时间复杂度为 <math>O(1)</math>。 * 查找:按值查找时,需要逐个比较,时间复杂度为 <math>O(n)</math>。 * 插入与删除:为保持数据的连续性,需要移动元素,时间复杂度为 <math>O(n)</math>。 == 顺序存储结构的特点 == * 逻辑相邻即物理相邻:数据存储为一段连续的内存空间。 * 随机存取:通过公式快速计算元素地址,支持直接访问任意位置。 * 存储密度大:所有存储空间都存储有效数据,密度为 1。 == 链式存储结构的特点 == * 物理位置不一定相邻:数据元素之间通过指针链接,内存分配灵活。 * 顺序存取:必须从头节点开始,逐一访问每个元素。 * 存储密度小于 1:每个节点需要额外存储指针信息。 * 链表:单链表中每个节点包含数据域和指针域。 == 单链表的操作 == === 单链表的插入操作 === 在位置 p 之后插入新节点 s: <syntaxhighlight lang="c"> s->next = p->next; p->next = s; </syntaxhighlight> # 将 s 的指针指向 p 的后继。 # 将 p 的指针指向 s。 === 单链表的删除操作 === 删除位置 p 之后的节点 q: <syntaxhighlight lang="c"> q = p->next; p->next = q->next; </syntaxhighlight> # 将 q 定位为 p 的后继节点。 # 修改 p 的指针,使其跳过 q。 == 效率 == 插入和删除只需修改指针,时间复杂度为 <math>O(1)</math>,不需要移动数据。 {{Template:数据结构与算法}} {{Template:线性表}}
此頁面嵌入了以下幾個頁面:
Template:Navbox
(
檢視原始碼
)
Template:Navbox/styles.css
(
檢視原始碼
)
Template:PageToolsLink
(
檢視原始碼
)
Template:PageToolsLink/styles.css
(
檢視原始碼
)
Template:数据结构与算法
(
檢視原始碼
)
Template:线性表
(
檢視原始碼
)
Module:Navbox
(
檢視原始碼
)
Module:PageToolsLink
(
檢視原始碼
)
返回到「
线性表
」。
搜尋
搜尋
檢視线性表的原始碼
新增語言
新增話題