数据结构与算法(1)

抽象数据类型定义

算法的效率

时间效率

一个算法的运行时间是指一个算法在计算机上运行所耗费的时间

大致可以等于计算机执行一种简单的操作(如赋值、比较、移动等)

所需的时间与算法中进行的简单操作次数乘积。

比较时间复杂度(看数量级)

空间效率

线性表(顺序表)

1.线性表定义和特点

元素必定有相同特性,数据元素间的关系是线性关系

2.线性表的类型定义

3.线性表的顺序表示和实现

以物理位置相邻表示逻辑关系

任意元素均可随机存取

4.顺序表基本操作的实现

初始化 InitList(&L)

销毁 DestroyList(&L)

清空 ClearList(&L)

求长度 GetLength(&L)

判断是否为空 IsEmpty(&L)

线性表取值 GetElem(&L)

按值查找 LocateElem(&L)

平均查找长度ASL

顺序表插入 ListInsert(&L,int i,char e)

顺序表删除 ListDelete(&L,int i)

线性表(链表)

单链表操作实现

初始化

判断链表是否为空

单链表销毁

清空单链表

求链表表长

取值

查找

插入

删除

删除节点要释放空间

单链表建立(头插法)

单链表建立(尾插法)

相关推荐
iceslime5 分钟前
旅行商问题(TSP)的 C++ 动态规划解法教学攻略
数据结构·c++·算法·算法设计与分析
aichitang20241 小时前
矩阵详解:从基础概念到实际应用
线性代数·算法·矩阵
OpenCSG2 小时前
电子行业AI赋能软件开发经典案例——某金融软件公司
人工智能·算法·金融·开源
dfsj660113 小时前
LLMs 系列科普文(14)
人工智能·深度学习·算法
薛定谔的算法3 小时前
《盗梦空间》与JavaScript中的递归
算法
kaiaaaa3 小时前
算法训练第十一天
数据结构·算法
?!7143 小时前
算法打卡第18天
c++·算法
springfe01014 小时前
构建大顶堆
前端·算法
凌辰揽月4 小时前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
lifallen4 小时前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法