数据结构与算法(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)

线性表(链表)

单链表操作实现

初始化

判断链表是否为空

单链表销毁

清空单链表

求链表表长

取值

查找

插入

删除

删除节点要释放空间

单链表建立(头插法)

单链表建立(尾插法)

相关推荐
立志成为coding大牛的菜鸟.1 小时前
力扣139-单词拆分(Java详细题解)
java·算法·leetcode
星夜孤帆2 小时前
LeetCode之数组/字符串
java·算法·leetcode
present12272 小时前
利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注
算法·matlab·数据分析·学习方法
就这样很好8805 小时前
排序算法总结
java·算法·排序算法
weixin_486681145 小时前
C++系列-STL中find相关的算法
java·c++·算法
我是真爱学JAVA5 小时前
第四章 类和对象 课后训练(1)
java·开发语言·算法
Qiuner6 小时前
【机器学习】分类与回归——掌握两大核心算法的区别与应用
算法·机器学习·分类
oufoc6 小时前
第J1周:ResNet-50算法实战与解析
神经网络·算法·tensorflow
Youkiup7 小时前
【重构数组,形成排列的最大长度】
算法
星夜孤帆7 小时前
LeetCode之图的广度优先搜索
算法·宽度优先