目录

1.1 数据结构

1.2 时间复杂度

1.3 空间复杂度

1.4 小知识点

1.5 例题

1.6 写在最后


首先说明一下 期末不挂科 系列专为零基础计算机小白所写,因而不会涉及太多较难问题,基本上都是书本中的知识点和一些简单例题,建议搭配系列习题(会有详解~)作为巩固练习【期末不挂科 数据结构】绪论习题(详解版),预祝大家期末考试都不挂科,取得一个好成绩~

1.1 数据结构

什么是数据结构呢?

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

数据:所有能输入到计算机中且能被计算机处理的符号的总称。

数据元素:是数据的基本单位,表示数据集合中的一个个体。

数据项:数据元素中有独立含义的最小单位。

是不是感觉有点听不懂呢?没关系,待会我们可以通过一些习题来更深地体会这些名词的含义。

接下来我们通过一张图来了解一下关于“数据结构”我们要学习的内容吧:

1.2 时间复杂度

时间复杂度:在计算机科学中,时间复杂性,又称时间复杂度,算法的时间复杂度是一个函数,是问题规模n的函数(以数量级的形式给出)。它定性描述该算法的运行时间,常用O符号表述。通俗来讲就是算法执行时所消耗的时间量。

是不是每次看这种定义的时候都有些云里雾里呢?没关系我们来看一个例题来理解一下:

/*对于如下计算整形数组a[0...n-1]各元素之和的算法求其算法的时间复杂度*/
//算法中每一条语句右边注释的内容为该行语句的语句频度
public static int sum(int a[]) {int n = a. length, s = 0;    //1for (int i = 0; i < n; i++)  //n+1s = s + a[i];            //nreturn s;                    //1}

第5行代码运行了一次很好理解吧,那为什么第六行代码运行了n+1次而不是n次呢?其实很简单啦,因为i=0 所以i=0,1,2...n,所以就是n次了。那为什么第七行2代码又变成n次了呢?因为当i=n时,只运行到了第六行代码,通过第六行代码判断出此时i已不满足i<n,便不再进行第七次代码的运行了。第八行代码return跳出for循环只运行一次。所以此算法中所有语句的执行次数之和为 2n+3

需要注意的是,算法的执行时间与指令序列的执行次数之和成正比。随着n的不断增大,2n+3可以近似于n,所以时间复杂度就是O(n)。如果是执行次数是2n²+3,那么时间复杂度就是O(n²)。

1.3 空间复杂度

空间复杂度相较于时间复杂度就好理解很多了,它指的是算法所需存储空间的量度,记作S(n)=O(f(n))其中n为问题的规模,即算法的空间复杂度也是以数量级的形式给出。

1.4 小知识点

(绪论部分的知识点有些碎,也有一些需要记忆的部分,以下知识点也是我在听课时做的一些小笔记,看完知识点后,可以尝试自己做一下后面的例题部分)

1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的 关系运算 的学科

2.数据的逻辑结构反映属于元素之间的次序关系,它依赖于数据存储结构。(逻辑结构可用于不同的存储结构实现,因此无直接关系

3.算法的5个特性:有穷性、确定性、可行性,有零个或多个输入,有一个或多个输出

4.数据结构中评价算法的两个性能指标是 时间复杂度、空间复杂度

5.数据结构的概念包括数据之间的逻辑结构数据在计算中的存储数据运算

6.数据的逻辑结构与数据元素本身的内容和形式无关

7.常见数量阶:常数阶O(1)、线性阶O(n)、平方阶O(n²)、立方阶O(n³)、对数阶O(㏒₂n)、指数阶O(2ⁿ)

不同算法时间复杂度比较关系:

O(1)< O(㏒₂n)< O(n)< O(n㏒₂n)< O(n²)< O(n³)< O(2ⁿ)< O(n!)

1.5 例题

1.判断题

1-1 数据结构概念包括数据之间的逻辑结构、数据在计算机中的存储方式和数据的运算三个方面。T(见小知识点)

1-2 数据的逻辑结构与数据元素本身的内容和形式无关。 (见小知识点)

2.单选题 

2-1 若要对n个数进行排序,则这个问题的规模指的是( C )。

A. 排序时间的大小   B. 不同排序方法有不同的规模   C. n的大小   D. A和C

(注意问的是问题的规模)

2-2 基本术语 ▁B▁ 是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

A. 二进制位   B. 数据元素   C. 数据项   D. 数据对象     (这个知识点需要记忆)

2-3 数据结构(实例) 观察下面的数据结构

DS = ( D,R )

D = { 17, 23, 45, 52, 63 }

R = { r1, r2, r3 } r1 = { 〈 17, 52 〉,〈 23, 45 〉,〈 45, 63 〉 }

r2 = { 〈 17, 23 〉,〈 52, 45 〉 }

r3 = { 〈 17, 45 〉,〈 52, 63 〉 }

它是( D

A. 集合结构   B. 线性结构   C. 树形结构   D. 图状结构

(可以看下1.1数据结构里的思维导图,图状结构是多对多的关系)

2-4 数据逻辑结构可以分为( B )。

A. 线性结构和图结构   B. 集合结构、线性结构、树结构和图结构   C. 顺序结构和链式结构   D. 集合结构和非线性结构

2-5 关于数据 下面数据表格中的每一行称为一个 ▁▁B▁▁。

A. 数据   B. 数据元素   C. 数据项   D. 数据对象

2-6 关于数据 下面数据表格任意一行中的某个栏目称为一个 ▁▁C▁▁。

A. 数据   B. 数据元素   C. 数据项   D. 数据对象

2-7 关于数据 下面数据表格作为一个整体称为一个 ▁▁D▁▁。

A. 数据   B. 数据元素   C. 数据项   D. 数据对象

(前面提到了一些数据元素数据项等概念,不太理解的同学可以通过这5/6/7三道题来体会一下哈~)

2-8 关于存储结构 ▁▁B▁▁ 的特点是借助指示元素存储地址的指针来表示数据元素之间的逻辑关系。(这个前面没怎么提到,不过也不用担心,这个主要靠理解,想了解的同学可以戳戳四种基本存储结构 这也是我从其他csdn大佬那里看到的)

A. 顺序存储结构   B. 链式存储结构   C. 索引存储结构   D. 散列存储结构

2-9 算法的时间复杂度与( A )有关

A. 问题规模   B. 计算机硬件性能   C. 编译程序质量   D. 程序设计语言

2-10 某算法的时间复杂度为O(n²),表明该算法的( C )

A. 问题规模是 n²    B. 执行时间等于 n²    C. 执行时间与 n² 成正比    D. 问题规模与 n² 成正比

(9/10两道题主要考察时间复杂度的定义及相关内容,忘记的同学可以返回去看看)

1.6 写在最后

①搭配课后习题巩固学习效果会更好哦~(课后习题更新中)

②该系列数据结构使用语言为Java,但是数据结构本身是一种逻辑上的概念,它是独立于特定语言的,所以学习数据结构不必拘泥于某种特定语言,每种语言都可以实现特定的数据结构,差别只在于语法实现级别。

③该系列数据结构知识点内容参照 中国大学mooc 徐爱琴老师的 郑州大学 数据结构(java版)

④ 该系列数据结构代码案例与课后习题参照书本 《数据结构——Java语言描述》

该系列数据结构为梨子(我)在学习数据结构时总结出的知识点,例题为自己做题时觉得还不错的题目,习题为书本课后习题。如有任何错误希望大家可以多多指正哈~如果觉得我的文章写的还不错,可以给个三连!!!我也会按照自己的学习进度持续更新的哦~

最后希望大家都能通过数据结构这门考试并且有所收获,我们一起加油吧!

【期末不挂科 数据结构】第一章 绪论相关推荐

  1. 王道408数据结构——第一章 绪论

    文章目录 一.概念 数据结构研究内容 二.数据三要素 逻辑结构 储存结构(物理结构) 运算 三.算法和算法评价 时间复杂度 空间复杂度 四.数字相关汇总 算法性能 二叉树相关 图相关 矩阵相关 一.概 ...

  2. (王道408考研数据结构)第一章绪论-第二节1:算法的基本概念、算法的特性及设计要求

    文章目录 一:算法的基本概念 (1)数据结构和算法的关系 (2)算法(Algorithm)的定义 二:算法的特性 三:算法设计要求 程序=数据结构+算法,前面我们已经探讨了什么是数据结构,明白了如何用 ...

  3. (王道408考研数据结构)第一章绪论-第一节:数据结构的基本概念、三要素、逻辑结构和物理结构

    文章目录 一:基本概念和基本术语 (1)数据 (2)数据元素和数据项 (3)数据对象 (4)数据结构 二:数据结构三要素 (1)逻辑结构 A:集合 B:线性结构 C:树形结构 D:图形结构 (2)物理 ...

  4. 沈阳师范大学大二上数据结构第一章绪论(选择+单选+填空))

    1-1 数据项是数据的最小单位. (2分) T 作者 李廷元 单位 中国民用航空飞行学院 1-1 1-2 数据元素是数据的最小单位. (2分) F 作者 李廷元 单位 中国民用航空飞行学院 1-2 1 ...

  5. 数据结构——第一章 绪论习题

    目录 写在前面 知识点导图 严蔚敏版习题 王曙燕版习题 写在前面 该习题答案非标准答案,正确不保证,如有错误望指正. 知识点导图 严蔚敏版习题 一.单项选择题(部分) 2.与数据元素本身的形式.内容. ...

  6. (王道408考研数据结构)第一章绪论-第二节2:算法的时间复杂度和空间复杂度

    文章目录 一:算法的时间复杂度 (1)事后统计方法 (2)事前分析估算的方法 (3)函数的渐进式增长 (4)算法时间复杂度 A:算法时间复杂度定义-大 O O O记法 B:推导大 O

  7. 《数据结构》 李春葆 第一章-绪论

    <数据结构> 李春葆 第一章-绪论 1 什么是数据结构 1.1 数据结构的定义 1.2 逻辑结构 1.2.1 逻辑结构的表示 1 什么是数据结构 数据元素以及数据元素之间的关系,数据元素= ...

  8. 数据结构与算法 --- 第一章 绪论

    数据结构与算法 第一章 绪论 1. 作者的话 2. 为什么要学习数据结构与算法 3. 数据结构与算法的作用 4. 数据结构的概念 4.1 名词解读 4.2 什么是数据 4.3 数据结构 4.4 逻辑结 ...

  9. 【数据结构】期末不挂科笔记

    [数据结构]期末不挂科笔记 大纲去复习 简答题 1.哈夫曼树的构造.计算wpl 哈夫曼树的处理其实很简单,将所有的权值节点放入最小优先队列中,每次取队头的两个数出来,组成一棵树,这颗树就三个节点,头节 ...

  10. 【离散数学】期末不挂科复习笔记

    [离散数学]期末不挂科复习笔记 和蜂考学的,重要的应该是逻辑和函数这两大板块,图和树就与数据结构挂钩了(大部分都是之前学过的),重点看看各种逻辑的等值演算还有推理! 第一章(命题逻辑的基本概念) 1. ...

最新文章

  1. c 服务器通信和文件传输,服务器、终端和文件传输方法
  2. 【Linux 内核】SMP 对称多处理器结构 ( SMP 对称多处理器结构概念 | SMP 对称多处理器结构的优势与缺陷 | Linux 内核兼容多处理器要求 )
  3. ksql 数量大于2_别人1加1大于2大于3,雍禾植发1加1小于2……
  4. Oracle数据文件scn不一致,数据文件SCN的一致性问题
  5. python中双冒号的作用_python中双冒号
  6. 色彩的对比度和饱和度_使用高色彩对比度进行更方便的设计
  7. VSCode 花式玩法(摸鱼)了解一下
  8. 见证“开放式多路供水”的技术难度应大于人类上天!
  9. 爬取网易云音乐评论,破解网易云加密算法
  10. 提取酷我音乐MP3外链地址 可放到QQ空间做背景音乐
  11. python游戏源码——2绘画简易坦克
  12. POI实现EXCEL导出(resources配置路径下或者网络图片)
  13. stm32F407按键例程安富莱
  14. 关于oracle驱动jiar包版本问题导致的ORA-01460【mybatis+Oracle】
  15. 如何友好提示vue3.0不再支持IE11及以下的浏览器版本
  16. ASP.Net Core实战——身份认证(JWT鉴权)
  17. 【我的渲染技术进阶之旅】关于C++轻量级界面开发框架Dear ImGui介绍
  18. 微信js 大转盘抽奖
  19. 职中计算机专业课教师资格证,中职教师资格证和高中教师资格证有什么区别?...
  20. Call From xxx/127.0.1.1 to xxx:9000 failed on connection拒绝连接部分解决办法

热门文章

  1. day11_rabbitmq和redis
  2. 关于把Excel转换成word的经验
  3. 2013-9百度技术沙龙:Clouda与nodejs
  4. source-map
  5. selenium执行click报错的解决方案
  6. 服务器显示未识别网络怎么办,未识别网络怎么解决
  7. 种业创新深圳品种 国稻种芯·中国水稻节:广东海水稻获成果
  8. css中的counter计数器
  9. 时间线故事脚本_时间轴的创意脚本
  10. 计算机二级C语言公共基础知识,以及习题总结(三)查找和排序