数据结构 笔记--向量 C++ 语言版 邓俊辉老师
邓俊辉老师的书。
1 有数组为什么还需要向量?
几乎所有程序设计语言中都会有数组,程序设计语言的开发者将数组作为一种内置的数据类型。
数组在刚开始初始化的时候就已经固定了长度,也可以依照下标查找,但还有很多种特性数组是不含有的。
向量这种抽象数据类型,它是一种利用程序设计语言抽象出来的一种数据类型。我们可以在运行时开辟一块空间来放一段数据,它就是一个对象。我们可以轻易的利用操作接口方法来对这些数据进行获取、插入、删除、查找、排序、集合化。可以看到如果拥有这些方法可以对数据进行更好的处理,是数组不能替代的。
还有一点是非常重要的,无论我们基于什么语言设计了一个抽象数据类型,在内部的实现方法可能就是使用的数组,我们只是做了将数组抽象化为更普遍的数据类型,并把这种数据类型取名为向量,因为这种数据类型和向量的很多特性都很相似。
2 什么是抽象数据类型?什么是数据结构?
抽象数据类型=数据模型+定义在该模型上的一组操作
数据结构=基于某种特定语言,实现抽象数据类型adt的一整套算法。
数据类型就是指 Int x,我们抽象数据类型的目的就是 vector x。
抽象数据类型是一种抽象定义、要考虑操作语义、不涉及数据的存储方式。
数据结构是一种具体的实践方法,要注重内部的实现算法,要考虑数据的具体存储机制。
3 在这一章中主要讲的内容是什么?
假如我们用c语言写了一个队列数据结构。我们应该讲一下队列这种数据结构的特性,所需要的方法(从对象的角度来看,就是我们应该讲一下队列这种对象应该有哪些行为和属性),同时我们也应该考虑去实现这些方法的时候我们的程序应该怎么写才能使得对象用起来更加顺手,去实现这些方法我们有不同的程序写法(每一种写法都是一种算法),如何使这些算法更加低成本和高效率也是我们应该考虑的。
这一章的内容就是在讲向量这个数据结构应该具有的行为方法,以及我们应该怎么用程序去实现这些行为方法,并且使得程序是高效率和低成本兼顾着的。
4 有序向量和无序向量有什么区别?
由于这两者表达数据的方法不一样,所以这两者的数据结构实现算法也不一样。有序向量可以很方便的进行查找操作,如果我们在给一堆数据建模,然后查找操作非常频繁的话就可以优先使用有序向量。
5 总结
如果我们是在用c语言学习数据结构这门课,那么内容将会有线性表(数组、链表)、队列与栈(特殊线性表)、串、树、图,在这些内容中又会详细的了解到查找与排序。
现在我们用c++语言学习数据结构这门课,要将关注点放在对象上来。
向量是寻秩访问
,内部是由数组实现的,在物理空间上一个向量对象里的数据是连续存储的。
数据结构 笔记--向量 C++ 语言版 邓俊辉老师相关推荐
- 408数据结构(王道版+邓俊辉版)
第一章 绪论 上 第一章 绪论 下 第二章 向量 上 第二章 向量 下 第三章 列表 第四章 栈与队列 第五章 二叉树 第六章 图 第七章 搜索树 第八章 高级搜索树(上) 第八章 高级搜索树(下) ...
- 邓俊辉老师数据结构课程笔记
文章目录 一.绪论 二.向量(查找和排序) 2.1知识点 2.2课后习题 三.列表 3.2 课后习题 四.栈与队列 五.二叉树 六.图 七.二叉搜索树 八.高级搜索树 一.绪论 1.复杂度分析的主要方 ...
- 《数据结构》(C++)_清华(邓俊辉)~ ~讲得很细~
数据结构(上)学堂在线链接. 数据结构下(学堂在线). B 站 链接. 方法步骤: 1. 看B站视频, 敲代码,做笔记.根据学堂在线分节 2.比较学堂在线视频是否遗漏. 3.做学堂在线习题, 补充笔记 ...
- 邓俊辉老师的学堂在线数据结构课程中的迷宫
不知道为啥我输出后的结果总是不对,迷宫的格子和上面的数字序号对不上,使用其他博主的也是一样不行,我自己改了一些东西的输出格式,输出后结果看着还行 下面代码是displayLaby.h这个文件 #pra ...
- 计算几何(二) by邓俊辉老师
凸包算法 最简 nlogn 极点算法n4-极边算法n3-incremental javis march / gift wrapping or 类似于 turning pattern insertion ...
- 快速排序+改进版(邓俊辉老师讲授)
快速排序是另一个分而治之排序算法.归并排序的重点在于合并,快速排序的重点在于分.(红色为每一次选取的候选轴点) 对于一个数组,起始为lo,结束为hi,轴点为pivot.通过每次选取不同的轴点,将轴点移 ...
- 邓俊辉数据结构学习-3-栈
栈的学习 栈的应用场合 逆序输出 输出次序与处理过程颠倒,递归深度和输出长度不易预知 不是很理解 实例:进制转换 大致思路:对于进制转换,我们一般使用的都是长除法,因此要保存每次得到的余数,但是最后算 ...
- 邓俊辉数据结构学习心得系列——数据结构中所研究的算法
写在前面的话: 本文只是个人学习邓俊辉老师C++数据结构的整理,包含了很多个人的见解(从内容到材料的组织形式).所整理的内容不保证逻辑性和完整性,仅供参考. 算法的基本性质: 有正确的输入 有正确的输 ...
- 邓俊辉《数据结构》-列表学习笔记
2021.12.9 向量&列表的关系 向量结构中各数据项的物理存放位置与逻辑次序完全对应,可通过秩直接访问对应的元素,即"循秩访问".好像可以通过一个人的家庭住址找到那个人 ...
最新文章
- NSwagStudio for Swagger Api
- c语言用fread读取全部文本,C中用fread()从文件读取数据问题
- 构建之法第四、第五章读后感
- 关于烂代码的那些事(中)
- 2008 R2 Server core 下的常用命令
- 认识Javascript数组
- vlan划分_基于MAC地址划分VLAN配置示例
- opencv 物体形状匹配
- HDFS某个节点的磁盘满了
- 【实践】Pytorch nn.Transformer的mask理解
- SVG 坐标和 viewBox
- java项目怎么启动_github上的java项目怎么运行(面向小白)
- 安德鲁1.2Ku使用感受
- 唯库拼课课程大合集更新111门
- 4行代码 超级简单 html/css 实现平移动画
- zookeeper羊群效应
- Codesys配置电子凸轮连接虚轴
- sharding-jdbc系列之常见问题(十四)
- 【亲近自然亲子营】 世外桃源”享受野趣,双山邂逅浪“慢”~旅程
- matlab如何写不等于号,不等于号(不等于号可以往右写么)
热门文章
- 089 定积分之双纽线、心形线、摆线
- 有关键词和频率,怎么求共词矩阵?有报酬
- 维度建模之缓慢渐变维
- 尤大大(尤雨溪)的年度总结、预期
- 动态搜索图书:可以按书名、作者、出版社以及价格范围进行搜索。(在IDEA中mybatis)
- 牛年第一瓜!阿里女员工被骗500多万!初中文化水平男子,滴滴开豪车,诈骗4000多万被判无期!...
- 全球与中国IOL输送系统市场深度研究分析报告
- 学习TypeScrip3(接口和对象类型)
- php k线15分钟 30分钟,成功率极高的“分时K线战法”:15分钟K线战法+30分钟K线战法...
- xp系统蓝屏代码7b_蓝屏代码7b怎么修复