ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:20.53KB ,
资源ID:25458911      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25458911.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(151601学期课程知识点回顾数据结构与算法v10.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

151601学期课程知识点回顾数据结构与算法v10.docx

1、151601学期课程知识点回顾数据结构与算法v101 概述1.1 课程介绍为什么要学数据结构与算法怎么学数据结构与算法1.2 数据结构什么是数据结构什么是逻辑结构,有哪些逻辑结构(线性、树、网络、集),各逻辑结构分别有什么特点。什么是存储方式(物理结构),有哪些存储方式(顺序存储、链式存储)。有哪些常见数据操作(增删查改、排序等)1.3 算法什么是算法。算法与数据结构有什么关系。怎么评价算法的好坏。软件质量评估指标体系算法效率的度量方法:什么是时间复杂度,什么是空间复杂度,如何确定算法的时间复杂度。2 线性表2.1 线性表概述什么是线性表,线性表的基本操作2.2 顺序表2.2.1 什么是顺序表

2、什么是顺序表根据下标和顺序表中元素类型,计算顺序表中某元素的地址2.2.2 顺序表的数据结构描述顺序表结构描述时,必须的几点要素。如何用c语言描述顺序表。2.2.3 顺序表的算法思路、实现和效率分析顺序表的基本算法(操作):初始化、求表长、增加元素、删除元素、查找元素(按下标查、按值查)。懂得算法思路,和算法实现,懂得分析算法效率(时间复杂度和空间复杂度,重点是时间复杂度)。2.2.4 Java中的顺序表Java中顺序表结构有基本数组和ArrayList类,懂得ArrayList类的基本结构,懂得用ArrayList类自带的方法对其中元素增删查改。懂得用Iterator和ListIterato

3、r接口访问ArrayList。如何根据不同情况,在Java的世界中,选择合适的顺序表,即基本数组或ArrayList。2.3 链表2.3.1 什么是链表什么是链表,懂得区分顺序表和链表在数据结构上的差异2.3.2 链表的数据结构描述链表结构描述时,必须的几点要素。如何用c语言描述链表带头结点和不带头结点的链表2.3.3 链表的算法思路、实现和效率分析链表的基本算法(操作):初始化、求表长、增删查改(查包括按下标和按值查)。懂得算法思路、算法实现,并懂得分析算法效率(时间和空间复杂度,重点是时间复杂度)。用头插法和尾插法创建链表(带头结点或者不带头结点)2.3.4 循环链表和双向链表单向和双向链

4、表、循环和不循环链表的各自特点双向链表结构描述时,必须的几点要素。如何用c语言描述双向链表双向链表的前插和删除算法的思路和c语言实现Oracle索引B*树结构中的双向链表2.3.5 Java中的链表Java中的链表:LinkedList类。懂得LinkedList类的基本结构(带头结点的双向循环链表)。懂得用LinkedList类自带的方法对其中元素增删查改。懂得用Iterator和ListIterator接口访问LinkedList。如何根据不同情况,在Java的世界中,选择合适的线性表,即基本数组、ArrayList、或LinkedList。2.3.6 顺序表和链表的比较增加结点时,顺序表

5、和链表的时间效率(即时间复杂度)分析顺序表和链表的综合比较(包括存储方法、根据index查找/更新的时间效率、根据值查找/更新的时间效率、定位后增删的时间效率、空间效率)3 栈与队列3.1 栈3.1.1 什么是栈什么是栈(我们身边的栈)、什么是顺序栈、什么是链栈3.1.2 顺序栈的数据结构描述顺序栈结构描述时,必须的几点要素。如何用c语言描述顺序栈3.1.3 顺序栈的算法思路、实现和效率分析顺序栈的基本算法:初始化、判断栈是否空、判断栈是否满、入栈、出栈、取栈顶元素。这些算法的思路、c语言实现和效率分析(时间和空间复杂度,重点是时间复杂度)3.1.4 链栈的数据结构描述链栈结构描述时,必须的几

6、点要素。如何用c语言描述链栈3.1.5 链栈的算法思路、实现和效率分析链栈的基本算法:初始化、判断栈是否空、判断栈是否满、入栈、出栈、取栈顶元素。这些算法的思路、c语言实现和效率分析(时间和空间复杂度,重点是时间复杂度)3.1.6 Java中的栈Stack用ArrayList或LinkedList制作一个栈Collections.asLifoQueue()3.2 队列3.2.1 什么是队列什么是队列(我们身边的队列)、什么是顺序队列、什么是链队列3.2.2 顺序队列的数据结构描述顺序队列结构描述时,必须的几点要素。如何用c语言描述顺序队列3.2.3 顺序队列的算法思路、实现和效率分析顺序队列的

7、基本算法:初始化、判断队列是否空、判断队列是否满、入队、出队、取队列顶元素。这些算法的思路、c语言实现和效率分析(时间和空间复杂度,重点是时间复杂度)3.2.4 循环顺序队列的数据结构描述循环顺序队列结构描述时,必须的几点要素。如何用c语言描述循环顺序队列3.2.5 循环顺序队列的算法思路、实现和效率分析循环顺序队列的基本算法:初始化、判断队列是否空、判断队列是否满、入队、出队、取队列顶元素。这些算法的思路、c语言实现和效率分析(时间和空间复杂度,重点是时间复杂度)3.2.6 链队列的数据结构描述链队列结构描述时,必须的几点要素。如何用c语言描述链队列3.2.7 链队列的算法思路、实现和效率分

8、析链队列的基本算法:初始化、判断队列是否空、判断队列是否满、入队、出队、取队列顶元素。这些算法的思路、c语言实现和效率分析(时间和空间复杂度,重点是时间复杂度)3.2.8 Java中的队列用ArrayList或LinkedList制作一个队列Queue和DeQue4 树与二叉树4.1 树4.1.1 什么是树树是怎样的一种逻辑结构4.1.2 树的基本概念和术语4.2 二叉树4.2.1 什么是二叉树二叉树是怎样的一种逻辑结构,有哪些基本概念和术语4.2.2 二叉树的性质普通二叉树、满二叉树、完全二叉树4.2.3 二叉树的存储方法顺序表存储和链表存储顺序表存储的思路(怎样在顺序表中存放二叉树的结点,

9、才能保持二叉树的逻辑结构。书上的思路只是针对二叉树,若多叉树该如何改进,例如三叉树,方法1是在顺序表中增加一个元素,以存放是几叉树)用c语言描述用顺序表存储的二叉树数据结构链表存储的思路,并用c语言描述其数据结构4.2.4 二叉树的遍历根据给出的一棵二叉树,给出其前序、中序和后序遍历法的序列。根据给出的中序序列,和前(后)序序列),确定一棵二叉树递归算法(理解递归算法的思路,什么时候可以用递归,递归需要注意什么)理解用递归实现的二叉树前中后序遍历的c语言算法实现4.2.5 二叉树的其他基本操作递归法创建二叉树递归法计算二叉树的深度递归法计算二叉树的双孩子结点总数递归法计算二叉树的结点总数递归法

10、计算二叉树的叶子结点总数4.3 Java中的树TreeMap和TreeSet类(TODO)5 排序5.1 排序简介5.1.1 排序的基本概念什么是排序排序的两个基本操作排序的稳定性就地排序排序的策略内排序和外排序评价排序算法好坏的标准5.1.2 排序算法所用的顺序表数据结构5.2 直接插入排序5.2.1 什么是直接插入排序5.2.2 直接插入排序的算法思路给出一个元素列表,用直接插入排序的思想给其排序,并写出排序过程。5.2.3 直接插入排序的算法实现5.2.4 直接插入排序的算法分析时间和空间复杂度(最好情况下、最坏情况下、平均情况下)是否属稳定排序是否属就地排序5.3 冒泡排序5.3.1

11、什么是冒泡排序5.3.2 冒泡排序的算法思路给出一个元素列表,用冒泡排序的思想给其排序,并写出排序过程。有两种冒泡排序:重的先沉,轻的先浮5.3.3 冒泡排序的算法实现理解c语言实现的冒泡排序算法,思考存在什么问题,如何改进5.3.4 冒泡排序的算法分析时间和空间复杂度(最好情况下、最坏情况下、平均情况下)是否属稳定排序是否属就地排序5.4 快速排序5.4.1 什么是快速排序5.4.2 快速排序的算法思路给出一个元素列表,用快速排序的思想给其排序,并写出排序过程。5.4.3 快速排序的算法实现理解c语言实现的快速排序算法了解确定基准元素的几种不同方法。在JDK1.4中,Arrays类中为基本数

12、组排序的sort方法,就用了三者取中的方法(但与教材所描述的不同在于,没有将中值元素与首元素交换)5.4.4 快速排序的算法分析时间和空间复杂度(最好情况下、最坏情况下、平均情况下)是否属稳定排序是否属就地排序5.5 选择排序5.5.1 什么是选择排序5.5.2 选择排序的算法思路给出一个元素列表,用选择排序的思想给其排序,并写出排序过程。5.5.3 选择排序的算法实现5.5.4 选择排序的算法分析时间和空间复杂度(最好情况下、最坏情况下、平均情况下)是否属稳定排序是否属就地排序5.6 归并排序5.6.1 什么是归并排序5.6.2 归并排序的算法思路给出一个元素列表,用归并排序的思想给其排序,

13、并写出排序过程。有两种归并排序:自底向上,自顶向下5.6.3 归并排序的算法实现5.6.4 归并排序的算法分析时间和空间复杂度(最好情况下、最坏情况下、平均情况下)是否属稳定排序是否属就地排序5.7 各种排序算法的比较5.8 Java中的排序Arrays类和Collections类的sort方法Comparable和Comparator接口Java的Collections.sort(List)和Arrays.sort(Object)是改良版的归并排序。并且当待排序的元素不多时,会用直接插入排序,例如JDK1.4中的Arrays.sort(Object)方法,当待排序元素个数小于7时,用直接插入

14、排序6 查找6.1 查找简介查找的基本概念6.2 顺序查找算法思路6.3 二分法查找算法思路6.4 索引查找算法思路6.5 二叉查找树又叫二叉排序树算法思路6.6 哈希查找算法思路解析Java的HashMap类,HashMap是如何解决冲突的,链表法,用头插法6.7 Java中的查找Collections和Arrays类的binarySearch方法HashMap和HashSet类0 补充0.1 C语言0.1.1 指针什么是指针各种类型的指针变量指针数组函数的参数和返回值用指针类型二级指针0.1.2 typedef0.1.3 结构体0.1.4 c语言其他知识scanf和getchar的背后机制

15、malloc和free函数0.2 eclipse集成开发环境0.2.1 下载和安装eclipse0.2.2 在eclipse中配置jdk运行环境0.2.3 在eclipse中配置代码模版0.2.4 在eclipse中创建java项目0.2.5 在eclipse中创建、编译java源文件和运行java程序0.2.6 在eclipse中用debug调试java程序0.2.7 在eclipse中以zip包格式导入导出项目0.2.8 在eclipse中生成javadoc0.2.9 eclipse常用快捷键自动格式化ctrl+shift+f代码助手ctrl+enter(可能快捷键有不同,可查看菜单Edi

16、tCode Assist)打开某个类型(ctrl+shift+o)打开某个资源(ctrl+shift+r)查询某个类、变量或方法在工作区间中被引用的情况(ctrl+shift+g)查询当前类的结构(ctrl+o)0.3 dev-c+集成开发环境0.3.1 下载和安装dev-c+0.3.2 配置dev-c+的开发和测试环境0.3.3 在dev-c+中用ArtisticStyle工具实现自动排版0.3.4 在dev-c+中调试代码(debug)0.4 代码编写规范0.4.1 c语言代码编写规范0.4.2 java语言代码编写规范0.0 其他0.0.1 UI可用性在分析教材线性表部分例2-1时,如何提高UI可用性0.0.2 软件质量评估指标体系在概述部分,讲算法评价时补充0.0.3 栈和堆的概念

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1