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

技术标签: 算法  数据结构  

第一章绪论

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

智能推荐

RCNN,Fast RCNN, Faster RCNN总结_binlin1209的博客-程序员秘密

行人检测 概述:       行人检测有两种方向,传统算法和基于深度学习算法。传统算法的典型代表有Haar特征+Adaboost算法,Hog特征+Svm算法,DPM算法。而基于深度学习的行人检测典型代表有RCNN系列,YOLO系列和SSD系列。其中RCNN系列...

EmberZNet 小知识_Over-Lord的博客-程序员秘密

use single instance of attribute on all endpoints?此项勾选后所有Endpoint的相同属性使用一个实例、存储空间。一般Basic,OTA这两个Cluster会勾选。

VBA(比较全的api中文帮助文档例如office,excel,outlook,PowerPoint等api文档)_Fu_Lin_的博客-程序员秘密

VBA(比较全的api中文帮助文档例如office,excel,outlook,PowerPoint等api文档VBA比较全的api帮助文档,里面具体包括了一下chm相关截图如下1、MSOHLP11.chm中文帮助文档2、VBAAC10.CHM office的一些帮助文档(如图)3、VBAGR10.CHM4、VBAOF11.CHM5、VBAOL11.CHM帮助文档(outlo...

单链表(带头结点)的存储结构与基本操作(c语言)------亲测可用_typedef int datatype.typedef struct node //定义单链表da_大学僧成长纪的博客-程序员秘密

实现功能:单链表(带头结点)结点结构体的定义,单链表(带头结点)初始化、求元素个数、插入元素、删除元素、取元素、打印所有元素、就地逆置、撤销的操作。

Hibernate JPA 主键策略_jpa主键策略_路面烧卖的博客-程序员秘密

Hibernate JPA 主键策略Hibernate JPA 生成主键主要通过:@Id 和 @GeneratedValue 注解实现,其生成规则由 @GeneratedValue 设定@GeneratedValue的源码:@Target({METHOD,FIELD})@Retention(RUNTIME)public @interface GeneratedValue{ GenerationType strategy() default AUTO; String gene

力扣147:对链表的插入排序(画图详解)_努力学习的少年的博客-程序员秘密

题目:对链表进行插入排序插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序。每次迭代时,从输入数据中移除一个元素,并原地将其插入到已排好序的链表中。(转载力扣)插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。示例1:输入: 4->2->1->3输出: 1->2->

随便推点

0321-2020-LEETCODE-365-水壶问题-用两壶水倒出指定容量的水(gcd算法)_积积对积积的桶要出水了_皮蛋zzz的博客-程序员秘密

代码来源:https://leetcode-cn.com/problems/water-and-jug-problem/comments/思想就是:二元一次方程组 ax + by = z 有整数解的充要条件,就是x和y的最大公因子能够整除z,如果x + y < z 就直接返回false,如果最大公因子 == 0就返回false。public boolean canMeasureWater...

linux shell 后台执行脚本的方法 脚本后台运行 后台运行程_脚本后台执行_石宗昊的博客-程序员秘密

我的环境ubuntu 20.04借鉴https://blog.csdn.net/ruiyelp/方法1: 切断当前的连接后脚本自动断掉直接在后台运行脚本:./test.sh &查看当前shell环境中已启动的任务情况:jobs将test.sh切换到前台运行:fg %number(”number”为使用jobs命令查看到的 [ ] 中的数字,不是pid)中断后台运行的test.sh脚本:先fg %number切换到前台,再ctrl+c;或是直接kill %number方法2:后台执行

6.7K Star 的知名开源项目源码,该怎么看?_fe_lucifer的博客-程序员秘密

源码解读读懂开源精选好文大家好,我是皮汤。最近程序员巴士学习交流群里有小伙伴想要了解一下如何看源码,正好最近有一点心得感悟,之前也写过一篇实际跑通 NaiveUI 源码的文章:尤大...

前端基础知识之element-ui_element-ui是什么_疯狂DEBUG的博客-程序员秘密

element-ui是饿了么前端出品的基于vue.js的后台组件库,方便程序员进行页面快速布局和构建。官网:http://element-cn.eleme.io/#/zh-CN目前可以通过 unpkg.com/element-ui 获取到最新版本的资源,在页面上引入 js 和 css 文件即可开始使用。<!-- 引入样式 --><link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/inde

JavaScript 事件处理程序_liun_n的博客-程序员秘密

HTML 事件处理程序、DOM0级处理事件程序、DOM2级处理事件程序...DOM0级处理事件程序就是将一个函数赋值给一个事件处理程序属性,可以认为是元素的方法,在这个事件处理程序的作用域中,可以用this访问到该元素的任何方法和属性。DOM2级事件处理程序定义了两个方法:`addEventListener()`和`removeEventListener()`,所有DOM节点都包含这两个方法。

计算机组成原理 进制之间的转换 原码、补码、反码、移码 浮点数 大小端 奇偶校验_mips 求反码_菜到不会下载软件的博客-程序员秘密

《计算机组成原理》第二章知识点总结一、各种进制间的转换 二---十进制转化 按权相加 十---二进制转化 减权定位;除基取余; 二---十六进制转化 四位二进制转化为一位十六进制,最高位不足四位时,最前面补0 十六---二进制转化 一位十六进制转化为四位二进制二、计算机中的各种编码计算机中数的编码表示:原码、补码、反码、移码原码:最高位是符号位,其余数表示该数的绝对值如【-...

推荐文章

热门文章

相关标签