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

线性表(链表)

单链表操作实现

初始化

判断链表是否为空

单链表销毁

清空单链表

求链表表长

取值

查找

插入

删除

删除节点要释放空间

单链表建立(头插法)

单链表建立(尾插法)

相关推荐
im_AMBER1 分钟前
Leetcode 118 从中序与后序遍历序列构造二叉树 | 二叉树的最大深度
数据结构·学习·算法·leetcode
YuTaoShao2 分钟前
【LeetCode 每日一题】3721. 最长平衡子数组 II ——(解法二)分块
java·算法·leetcode
Faker66363aaa2 分钟前
YOLOv10n改进实现CFPT-P23456算法——压力容器管道表面轻微锈蚀检测
算法·yolo·计算机视觉
闻缺陷则喜何志丹2 分钟前
【动态规划 AC自动机】P9188 [USACO23OPEN] Pareidolia S|普及+
c++·算法·动态规划·洛谷·ac自动机
shehuiyuelaiyuehao2 分钟前
21优先级队列
算法
kanhao1003 分钟前
时空反向传播 (STBP) 算法
算法
cpp_25014 分钟前
P10250 [GESP样题 六级] 下楼梯
数据结构·c++·算法·动态规划·题解·洛谷
小范自学编程9 分钟前
算法训练营 Day27 - 贪心算法part01
算法·贪心算法
码农三叔10 分钟前
(11-4-02)完整人形机器人的设计与实现案例:机器人跳跃
人工智能·算法·机器人·人机交互·人形机器人
xiaoye-duck15 分钟前
深入解析 STL 优先级队列:从原理到实战
c++·算法·stl