第一章 绪论

(零)基本内容:

数据结构相关的概念和术语(-1)
数据结构三要素:逻辑结构,存储结构,数据运算(0)
算法时间复杂度和空间复杂度的分析计算(1)

(一)数据结构的基本概念

1.数据结构的基本术语
(1)数据,是信息的载体,是描述客观事物属性的数,字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。

(2)数据元素,是数据的基本单元。一个数据元素又由若干个数据项组成,数据项是组成数据元素的不可分割的最小单位。
例如,学生就是数据元素,而学号,性别,年龄等就是数据项。

(3)数据对象,是指具有相同性质的数据元素的集合,是数据的一个子集。
例如整数的数据对象就是:0,-1,1,2,-2等等

(4)数据类型,是一个值得集合和定义在此集合上的一组操作的总称。
原子数据:值不可再分的数据类型。
结构数据:值可在分解为若干个数据类型。
抽象数据类型:抽象数据组织及与之相关的操作(三元组表示,构成一个完整的数据结构

(5)数据结构,是相互之间存在一种或多种特定关系的数据元素的集合。元素之间的关系称为结构。
主要包括:逻辑结构,存储结构,数据运算。

2.数据结构的三要素

(1)数据的逻辑结构:数据元素之间的逻辑关系,与存储无关,独立于计算机。数据的逻辑结构主要分为线性结构(线性表)和非线性结构(图,树,集合)。

集合:数据元素同属一个集合。
线性结构:数据元素一对一的关系。
树型结构:数据元素一对多的关系。
图状结构:数据结构多对多的关系。

(2)数据的存储结构,指数据结构在计算机中的表示,也称物理结构。包括数据元素的表示和关系的表示。存储结构是用计算机语言实现的逻辑结构。数据的存储结构分为:顺序存储,链式存储,索引存储和散列存储。

顺序存储;把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中。优点:随机存取和顺序存取都行。缺点:只能使用相邻的一块存储单元,会产生外部碎片。

链式存储:逻辑上相邻但是但物理上不一定相邻,借助指针来表示存储元素之间的关系。优点:会利用所有存储单元。缺点:占用额外的存储空间,只能顺序存取。

索引存储

散列存储

(3)数据的运算:对运算的定义和实现。运算的定义是对逻辑结构,运算的实现是对存储结构。

(二)算法和算法的评价

---------------------------------------------------------(一月十六日晚)
1.算法的定义:算法是对问题求解步骤的描述。
(1)有穷性:在执行有穷步之后结束。
(2)确定性:每条指令必须有确切的含义,对于相同的输入只能得到相同的输出。
(3)可行性:操作可实现。
(4)输入
(5)输出
好的算法还有:正确性,可读性,健壮性,效率和低储存量的需求。
2.算法的效率:时间复杂度和空间复杂度
重点:关于时间复杂度的计算(务必全面)
----------------------------0:23,虽然没写完,太困了,孩子以后白天再也不摸鱼了,明天继续
----------------------------------------------一月十八日晚:拖(本人废物)
------------------------------------------------------------一月十九日夜(咕)

(1)时间复杂度:指该语句在算法中被重复执行的次数。T(n)
算法的时间复杂度遵循着加法原则和乘法原则。
加法原则:取其最大时间复杂度原则。
乘法原则:时间复杂度的乘积。
(2)时间复杂度的计算:(常见简单的不列举了)
第一种:O(log(n))

for(int i = 1; i<n; i = i*2) {cout<<i;
}

计算过程:

第二种:O(n^2)

int a=0;
for(int i = 0; i<=n; i++) {for(int j = 0; j<=n; j++) {a++;
}

第三种:O(n^3)
第四种:O(n!)
举个较为复杂的例题

(2)常见的排序算法的时间复杂度

(4)总结:
算法的时间复杂度体型主要分为两种
第一种:循环主体中的变量参与循环条件的判断
此类题应该找出主体语句中与T(n)成正比的循环变量,带入计算。例如:

第二种:循环主体中的变量与循环条件无关
采用数学归纳法或直接累计循环次数,只需要知道主体语句的循环次数就行。
递归程序使用公式进行递推就行。
非递归则采用累计次数就行。
--------------------------------------------------------------一月二十日(晚)

第二章线性表

二月六日晚完结,以后有时间码字吧

2022-数据结构复习相关推荐

  1. 西工大2022数据结构期末备考记录

    我的背景:高中没有学过任何信息学竞赛,大学也没有参加过ACM竞赛,没有任何编程功底,只学过一学期的数据结构 今天是7月13日,暑假,外面难得下起了小雨,温度也从平时的34.35度,降到了23度,着实难 ...

  2. KPM算法——数据结构|复习局|串|复杂模式匹配算法|二维数组解决KPM

    数据结构复习局--KPM算法 何为KPM? 事先规则 状态 匹配 dp--状态转移图 状态X 获得dp数组值 看看图再理解下 写在前面: 本文仅为作者个人学习记录,详细具体内容参考自知乎大佬labul ...

  3. 【数据结构复习】二叉树的遍历——从微软2014校园招聘说起

    [数据结构复习]是学习.复习常用数据结构系列文章.数据结构与算法密不可分,是程序实现功能的重要组成部分.优秀的数据结构可以提高算法的时间及空间效率.反之,将增加算法复杂度,甚至妨碍程序的正确执行. 一 ...

  4. 天勤2022数据结构(六)图

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 天勤2022数据结构(六)图 前言 一.基础算法 例题 Prim算法 Kruskal算法 Dijkstra算法 Floyd算法 拓扑排 ...

  5. 数据结构复习-基础、线性表、栈、队列、串

    数据结构复习笔记 作者: 收集于网络 第一章:概论 数据:指所有能被输入到计算机中,且能够被计算机识别.存储和加工处理的信息的载体,是计算机操作的对象的总称. 数据元素:数据的基本单位,有时一个数据元 ...

  6. CAUC算法与数据结构复习基本代码(一)

    算法与数据结构复习基本代码(一) 线性表 线性表 顺序表 单链表 双链表 栈 栈 顺序栈 链式栈 表达式求值 队列 顺序队列 链式队列 字符串 线性表 线性表 线性表的抽象数据类型定义 templat ...

  7. 南京邮电大学计算机网络专硕,南京邮电大学计算机专硕数据结构复习经验分享...

    南京邮电大学计算机专硕数据结构复习经验分享 今年数学考砸了,考完了一直没想碰考研的任何东西.今天不知道怎么的突然觉得还是有必要给后人留下点 作者 magicls 次阅读 2014-01-28 今年数学 ...

  8. HIT 数据结构复习

    一些奇怪的概念 四种逻辑结构:集合结构.线性结构.树结构.图结构 存储结构:顺序存储.链式存储.索引(index)存储.散列(Hash)存储 坑! Q:为什么说线索二叉树是一种物理结构(存储结构)? ...

  9. 计算机考研的意义,2019计算机考研数据结构复习:重要意义

    2019考研复习正在紧张的进行中,为了更好的帮助同学们学习.新东方在线为大家整理了"2019计算机考研数据结构复习:重要意义"的相关信息,提醒各位考生要合理安排复习时间,做好复习规 ...

  10. 【数据结构复习】(1)绪论

    前言 由于自己已经大四,开始决定写这个博客,记录下自己每一天一点一滴的进步,希望自己的收获能与大家一同分享.数据结构这门课是我在大二上学期所学的,由于之前学习C语言的时候已经接触了常用的一些数据结构, ...

最新文章

  1. 2019牛客暑期多校训练营(第三场)
  2. 肠里细菌“肚里蛔虫”:肠脑研究缘何越来越热
  3. goaheadlinux移植_Linux下goahead3.3.6的移植以及文件上传下载示例
  4. 解决Pycharm:Windows Defender might be impacting your build performance.
  5. Objective-C 和 Swift 混编项目的小 Tips(一)
  6. 认证鉴权与API权限控制在微服务架构中的设计与实现(一)
  7. android studio | openGL es 3.0增强现实(AR)开发 (1) 建立一个openGL es 3.0开发环境
  8. 金字塔简单代码(java)
  9. 《惢客创业日记》2019.03.04(周一)从创业角度看郭德纲(2)
  10. 深度报道 | 瀚高软件CTO郑晓军:以开源之路发展国产数据库符合市场规律
  11. selenium操作360极速浏览器的方法
  12. flea-db使用之SQL模板接入
  13. redis-----07-----redigo基本命令操作(主要讲如何让go的struct、map展开成redis的参数,以及使用struct获取redis返回的key-value批量数组)
  14. 关于电脑连不上WiFi,但可以连上网线的解决办法
  15. Typora中如何使用数学公式、数学符号
  16. 电子人的浪漫--致爱丽丝音乐盒
  17. 300元打造智能影音中心
  18. Python 1~500 求和(循环遍历求和,高斯求和,定义函数求和)
  19. C++文件服务器项目—数据库表设计 与 后端接口设计—6
  20. 笔记:C#_对象池_异常代码: c0000005

热门文章

  1. 老子《道德经》第六十章
  2. 70.青蛙跳台阶(爬楼梯)
  3. 华三服务器管理口地址_h3c 的交换机怎样设置管理地址?
  4. 移动支付的浪潮下,支付接入会遇到哪些难题?
  5. java流式上传下载_精讲RestTemplate第6篇-文件上传下载与大文件流式下载
  6. MediaPlayer播放音频
  7. Ps微信表情开放平台微信表情包制作
  8. 线性代数-06-齐次、非齐次线性方程组求解
  9. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和
  10. 网卡属于计算机网络的传输介质吗,两台电脑通过双绞线和网卡互连算不算计算机网络?...