数据结构笔记:算法时间复杂度和线性表
需积分: 0 8 浏览量
更新于2024-07-01
收藏 842KB PDF 举报
数据结构基础知识点总结
本资源摘要信息涵盖了数据结构的基础知识点,包括算法的时间复杂度、空间复杂度、算法的分类、线性表的逻辑结构和操作等。
一、算法的时间复杂度
* 算法的时间复杂度是指算法执行所需的时间量级,通常用大O符号表示。
* 时间复杂度与问题的规模和初始状态相关。
* 例题:设有两个算法在同一机器上运行,其执行时间分别为100*n**2和2**n,要是前者快于后者,n至少要多大?求不等式100n**2<2**n,得n>=15。
二、算法的分类
* 根据算法的时间复杂度,可以将算法分为原地工作和非原地工作两类。
* 原地工作是指算法所需的额外空间相对于输入数据量是常数的。
* 例题:判断一个算法是否是原地工作的方法是,检查算法所需的额外空间是否相对于输入数据量是常数的。
三、线性表的逻辑结构
* 线性表是一种基本的数据结构,包括顺序表和链表两种实现方式。
* 顺序表的逻辑结构是数组,链表的逻辑结构是链式结构。
* 线性表的操作包括插入、删除、定位等。
四、链表的操作
* 插入操作是指在链表中插入一个新的结点。
* 删除操作是指从链表中删除一个结点。
* 定位操作是指在链表中查找一个结点。
* 例题:在顺序表中插入或删除一个结点需平均移动多少个结点?答:取决于顺序表的长度n和需要插入和删除的位置i。
五、循环链表
* 循环链表是一种特殊的链表结构,链表的最后一个结点指向链表的第一个结点。
* 循环链表的用法包括约瑟夫环、猴子选大王等。
* 双向循环链表判空的条件是head->next=head或head->pre=head。
六、其他知识点
* 算法的空间复杂度是指算法所需的额外空间量级。
* 算法的时间复杂度和空间复杂度是衡量算法性能的两个重要指标。
* 数据结构的选择取决于具体的问题和应用场景。
本资源摘要信息涵盖了数据结构的基础知识点,包括算法的时间复杂度、空间复杂度、算法的分类、线性表的逻辑结构和操作等,为学习数据结构奠定了坚实的基础。
点击了解资源详情
点击了解资源详情
370 浏览量
2008-07-31 上传
2010-10-26 上传
218 浏览量
2014-02-26 上传
113 浏览量
118 浏览量
AIAlchemist
- 粉丝: 1007
- 资源: 304
最新资源
- 常见网络命令使用!!!
- 用C#实现的电子商务的文档
- proteus7.1+keil8.08
- 《AVR单片机的GCC软件设计》.pdf
- PLC控制电冰箱的灯光大小
- 全国计算机等级考试四级数据库工程师教程 课后答案
- 单片机基础教程-入门级
- 基于索引的SQL语句优化之降龙十八掌
- 如何在局域网安装Redmine(原创)
- 计算机网络答案 谢希仁
- E:\ATA认证复习题\70-228SQL Server 2000企业版的安装、配置和管理模.pdf
- Flex 性能简评:Flex 和 JavaServer Pages 应用程序的比较
- linux下的调试工具-GDB
- 2009软件设计师考试大纲
- ExtJS 最新实用简明教程
- FAT32文件系统中文版