数据结构与算法期末复习——知识点+题库_数据结构与算法复习_软件手的博客-程序员宝宝

技术标签: 算法  数据结构  

第一章绪论

1.1 数据结构的基本概念

(1)数据:所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息 )。
(2)数据元素:是数据的基本单位,具有完整确定的实际意义。在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。
(3)数据项:构成数据元素的项目。它是数据不可分割的最小单位。
(4)数据类型:指一个类型和定义在这个类型上的操作集合。例:C语言(基本类型:整型、浮点型、字符型等构造类型:数组、结构、联合、指针、枚举等)
(5)抽象数据元素:抽象定义的、没有实际含义的数据元素。
(6)抽象数据类型:用户自己定义的数据类型。
(7)数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。或按照一定逻辑关系组织,并按一定存储方法存储的数据的集合,且需要定义一系列运算。逻辑结构、存储结构和运算合称为三要素。表示为:
Data_Structure=(D, S)
其中:D—元素有限集,S—关系有限集

1.2 数据结构涵盖的内容

![在这里插入图片描述](https://img-blog.csdnimg.cn/a52cea60d3f9447fb28d05a5fb7d3567.png

  • 解释1: 什么叫数据的逻辑结构?
    答:指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
    逻辑结构可细分为4类:
    集合结构: 仅同属一个集合
    线性结构: 一对一(1:1)
    树 结 构: 一对多(1:n) 非线性
    图 结 构: 多对多 (m:n) 非线性
  • 解释2:什么叫数据的物理结构?
    答:物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。
    存储结构可分为4大类:顺序、链式、索引、散列
  • 解释3:什么是数据的运算?
    答:在数据的逻辑结构上定义的操作算法。
    它在数据的存储结构上实现。
    最常用的数据运算有 5 种:插入、删除、修改、查找、排序

1.3 什么是抽象数据类型

1 数据类型与抽象数据类型的区别

数据类型:是一个值的集合和定义在该值上的一组操作的总称。
抽象数据类型(ADT):由用户定义,用以表示应用问题的数据模型。它由基本的数据类型构成,并包括一组相关的服务(或称操作)

2 抽象数据类型如何定义

抽象数据类型可以用以下的三元组来表示:
ADT = (D,S,P)
D:数据对象
S:D上的关系集
P:D上的操作集

3 抽象数据类型如何表示和实现

抽象数据类型可以通过固有的数据类型(如整型、实型、字符型等)来表示和实现。即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。

1.4 算法和算法分析

算法的基本特性:有穷性、确定性、可行性、必有输出
算法评价指标:正确性、可读性、健壮性、高效率与低存储量需求

本章小结

数据结构课程—— 数据结构+算法=程序,涉及数学、计算机硬件和软件。
数据结构定义——指互相有关联的数据元素的集合,可用data_Structure=(D,S)表示。
数据结构内容——数据的逻辑结构、存储结构和基本运算 。
数据结构描述工具——抽象数据类型和类C语言。
算法效率——时间效率和空间效率 。

这是我们学校的机考题库,仅作参考

【知识点】基本概念

  1. 数据结构中,与所使用的计算机无关的是数据的( A )结 构。A.逻辑 B.物理 C.存储 D.物理和存储
  2. 以下属于逻辑结构的是( C ) A.哈希表 B.单链表 C.有序表 D.顺序表
  3. 以下属于逻辑结构的是( B ) A.双链表 B.有序表 C.哈希表 D.顺序表
  4. 以下与数据的存储结构有关的术语是( D )。 A.网 B.队列 C.二叉树 D.链表
  5. 以下与数据的存储结构无关的术语是( B )。 A.单链表 B.栈 C.哈希表 D.循环队列
  6. 数据结构中,与所使用的计算机无关的是数据的( B)结 构。A.存储 B.逻辑 C.物理和存储 D.物理
  7. 可以用( C )定义一个完整的数据结构。 A.数据元素 B.数据对象 C.抽象数据类型 D.数据关系
  8. 下列数据中,( D )是非线性数据结构 A.链栈 B.堆C.循环队列 D.哈夫曼树
  9. 以下与数据的存储结构无关的术语是( A ) A.栈B.单链表 C.哈希表 D.循环队列

【知识点】1.3本章练习题库

选择题

  1. 一种抽象数据类型包括数据和( B )两个部分。 A.类型说明 B.操作 C.数据抽象 D.数据类型
  2. 数据结构是研究数据的( D )以及它们之间的相互关系。 A.理想结构,物理结构 B.理想结构,抽象结构 C.抽象结构,逻辑结构 D.物理结构,逻辑结构
  3. 以下说法正确的是(D)。 A.数据元素是数据的最小单位 B.数据项是数据的基本单位 C.数据结构是带有结构的各数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构
  4. 通常要求同一逻辑结构中的所有数据元素具有相同的特性, 这意味着( C )。 A.每个数据元素都一样 B.数据具有同一特点 C.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致 D.数据元素所包含的数据项的个数要相等

判断题

  1. 健壮的算法不会因非法的输入数据而出现莫名其妙的状态。A
  2. 数据元素是数据的最小单位。B
  3. 只要是算法,肯定可以在有限的时间内完成。A
  4. 数据的物理结构是指数据在计算机内的实际存储形式。A
  5. 作为解决一类特定问题的算法,不能没有输入运算项。B
  6. 因为算法和程序没有区别,所以在数据结构中二者是通用的。B
  7. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算 机的储存结构。 B
  8. 同一数据逻辑结构中的所有数据元素都具有相同的特性是指 数据元素所包含的数据项的个数都相等。B
  9. 数据结构是指相互之间存在一种或多种关系的数据元素的全体。A

填空题

  1. [填空1]是数据的基本单位。数据元素
  2. [填空1]是数据的最小单位。数据项
  3. 抽象数据类型的特点是 [填空1] 、信息隐蔽、使用与实现分离。数据封装
  4. 数据结构有线性结构、树结构、图结构、 [填空1] 等几种逻 辑结构。集合结构
  5. 一个算法具有 5个特性:有穷性、可行性、 [填空1] ,有零 个或多个输入、有一个或多个输出。确定性

【知识点】1.5算法的概念和特性

  1. 下面关于算法说法错误的是( B ) A.算法不一定要用高级语言描述 B.算法最终必须由计算机程序实现 C.算法的确定性是指指令不能有二义性 D.一个算法可以没有输入
  2. 下面关于算法说法错误的是( B ) A.复杂度O(n)的算法在时间上不一定总是优于复杂度O(n2) 的算法 B.算法原地工作的含义是指不需要任何额外的辅助空间 C.同一个算法,不同的程序员实现,用低级语言实现的效率 不一定比高级语言实现效率高 D.算法的时间复杂度不是唯一的评判算法的标准

2022.5.12 修改,明天更新下一章节

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44593925/article/details/124726265

智能推荐

sed 和正则表达式_sed 正则_kinbo88的博客-程序员宝宝

http://bbs.51cto.com/thread-1014654-1.html如果是用sed来取IP地址的话,我的个人习惯会写成这样。复制内容到剪贴板代码:ifconfig eth0|sed -rn '/Mask/s/[^:]+:([^ ]+).*/\1/p'简单解释一下这条sed1、参数rnr是为了让sed支持扩展正则也就是ERE(还有BRE、PRE这些

Java job interview:算法的经典与数据结构的程序图论_程序结构 图论、_咔啡的博客-程序员宝宝

●递推法●递归法●穷举法●贪心算法●分治法●动态规划法●迭代法●分支界限法●回溯法●费式数列●巴斯卡三角形●老鼠走迷宫●骑士走棋盘●八个皇后●八枚银币●生命游戏●字符串核对●双色,三色河内塔●背包问题●河内塔●数组于简单排序 ●栈与队列 ●链表 ●递归 ●哈希表 ●高级排序 ●二叉树 ●红—黑树 ●堆 ●带权图●斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacc

学习笔记_lixora的博客-程序员宝宝

###重新创建索引SQL> CREATE INDEX rname_idx2  ON hr.region s (region_name)3  PARALLEL 4;索引丢失时,更为快速、简单的方法是重新创建而不是尝试恢复索引###重新创建口令验证文件1. 使用OS 验证登录到数据库。2. 将REMOTE_LOGIN_PASSWORDFILE参数设置为NONE 并重新启动数据库。

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Enterp_unhandled exception. system.io.filenotfoundexcepti_GIS开发者的博客-程序员宝宝

Uinty3D在使用各种插件或者编写代码的时候都会遇到Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11

jmeter---Throughput(吞吐量)系列_jmeter throughput_paidaxing_dashu的博客-程序员宝宝

一,目录[email protected] - Bytes Throughput Over Time(不同时间吞吐量展示)二,介绍1,[email protected] - Bytes Throughput Over Time(不同时间吞吐量展示)

随便推点

<JZOJ5913>林下风气_weixin_30723433的博客-程序员宝宝

快乐dp反正考场写挂#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;cctype&gt;#include&lt;iostream&gt;#define MOD 19260817#define LL long long template &lt;class T&gt;inline void read...

angular中的$http请求跨域,获取不到后台数据_静安书以沫的博客-程序员宝宝

遇到的问题是这样的:前端页面demo2.xml&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta http-equiv="Access-Control-Allow-Origin" content="*"&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;demo2&lt;/title&gt; &lt;script src="angul...

Ardunio开发实例-磁簧开关_arduino磁接近开关_视觉&物联智能的博客-程序员宝宝

磁簧开关磁簧开关是一种小型电气开关,通常由接近磁场通过施加的磁场进行操作。本次实例使用的磁簧开关模块如下:1、硬件准备Arduino UNO 开发板一块杜邦线若干、数据线一条数据线一条磁簧开关模块一个强力磁铁一个该模块具有数字和模拟输出。 微调器用于校准传感器的灵敏度。模块由一个2x14mm常开簧片开关,一个LM393双差分比较器,一个3296W-104微调仪电位计,六个电阻器和两个LED组成。 该开发板具有模拟和数字输出,工作电压为3.3V-5V。与Arduino UNO开发板接线

如何通过DCGAN实现动漫人物图像的自动生成?_阿里巴巴淘系技术团队官网博客的博客-程序员宝宝

背景基于生成对抗网络(GAN)的动漫人物生成近年来兴起的动漫产业新技术。传统的GAN模型利用反向传播算法,通过生成器和判别器动态对抗,得到一个目标生成模型。由于训练过程不稳定,网络难以收...

深入理解Linux网络技术内幕(一)——基础介绍_Jacky~~的博客-程序员宝宝

Hello,各位小伙伴们大家好。出于工作的需要以及对Linux的浓厚兴趣,决定从今天开始对这本数进行学习。写这个博客的目的也是记录自己的学习笔记和自己的学习心得,如果大各位小伙伴也有兴趣,欢迎一起学习和讨论。关于本书的前言以及介绍这里就不再赘述,直接进入本书的第一章。对于大型项目源码的研究,就像进入一个陌生新奇的领域,有其习惯和不能言表的期待。事先学习一些主要的约定,并尝试和几种组件互动而不是仅站在旁边观察,肯定会对你有所帮助。本章主要介绍一些在网络代码中经常遇到的通用编程模式和技巧。可能的话,希望

异步4月赠书/python/算法/微服务_路彦雄 博客_人邮异步社区的博客-程序员宝宝

4月异步新书,涉及关键词,算法 python 微服务 Java Javascript等敲重点活动规则:试读样章,评论区留言说一下你对本书的一些感想,同时关注异步社区博客,并留言你想要得到的图书。活动时间:即日起-4月29日(活动奖项公告在5月1日)赠书数量:10本(每个品种1本) 先到先得!更多好书可以来人邮社异步社区查看,申请下期活动:http://www.epubit.com/本周免费电子书:...