1.数据结构和算法是一门介于数学,计算机硬件,计算机软件三者之间的课程。
2.计算机系统=计算机硬件+计算机软件
3.计算机硬件系统由哪几部分组成?
运算器、控制器、存储器、输入、输出设备。
CPU、存储器、I/O接口及设备
主机、I/O接口及设备
4.微型计算机与一般意义上的计算机区别在于:其本质特征是运算器和控制器集成在一块IC芯片上,这种CPU简称MPU。
5.内存和外存是一回事吗?
答:当然不是。能被CPU直接控制的存储器是“内存”;通过I/O接口才能被CPU控制的存储器是“外存”。
6.程序=算法+数据结构
7.数据结构与算法的研究内容:早期用于数值计算,现在越来越多用于非数值运算,例如弄:学生学籍管理系统,那么它的操作算法就是:查询,插入,修改,删除……操作对象之间的关系:线性关系。数据结构:线性数据结构,线性表。图书管理系统,人事管理系统,仓库管理系统……
8.人机对弈问题:当前格局,派生格局。之所以能对弈,是因为策略已经输入计算机,可以根据当前棋盘格局来预测棋局发展的趋势,甚至最后结局。
计算机的操作对象:各种棋局状态,即描述棋盘的格局信息。
计算机的算法:走棋(由一个格局派生出另一个格局)
操作对象之间的关系:非线性关系1:n
9.树形目录结构:每个文件包含多个子目录,每个子目录里又包含多个子目录,但每个子目录只有一个父目录。这种问题是数据与数据形成一对多的关系,是一种典型的非线性关系结构。
10.数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。
11.计算机主要技术指标有哪些?
字长:CPU一次能处理的二进制位数,它与数据总线的根数有关
主频:运算器做一次“加”动作的最小可靠时间
运算速度:CPU每秒能执行加法指令的次数(MIPS)
主存容量:bit,byte,KB,MB,GB,TB
1B=8bit 1KB=2的10次B 1MB=2的10次KB 1GB=2的10次MB
12.软件系统包含哪些软件?
包含:系统软件:管理计算机系统各部分,使之高效工作,同时为上层提供服务。系统软件中最重要的是:操作系统,提供人机交互的界面。
应用软件:处于系统软件的上层,帮助计算机用户完成特定区域的工作。
13.机器语言、汇编语言、高级语言之间的区别?
机器语言:用二进制代码直接表示的语言,是计算机唯一能识别、执行的语言;
汇编语言:符号化了的语言(用助记符编写程序),靠汇编程序翻译成机器码才能执行;
高级语言:要通过编译或者解释程序翻译成机器码才能执行
低级语言:面向机器,执行速度快,效率高;
高级语言:面向问题,易理解,易移植。
14.数据:能输入计算机,并且被计算机处理的各种符号的集合。数据是信息的载体,是对客观事物符号化的表示,能够被计算机识别、存储、加工。
数据的分类:数值型的数据和非数值型的数据(通常不能进行性数值运算)
数据元素:是数据的基本单位,通常作为一个整体考虑和处理。(也称元素,结点,记录)数据元素是数据的一个个体
数据项:构成数据元素的不可分割的最小单位。
数据>数据元素>数据项
数据对象:性质相同的数据元素的集合,是数据集合的一个子集
数据结构:数据元素不是孤立存在的,是指相互之间存在的一种或多种特定关系的数据元素集合。
15.计算机内的数值运算依靠方程式,而非数值运算则要依靠数据结构。这是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。
16.
17.数据结构包含以下三个内容:
1.逻辑结构(与数据的存储无关,独立于计算机,是从具体问题抽象出来的数学模型)
线性结构:有且仅有一个开始和一个终点,并且所有结点最多中有一个直接前趋和一个直接后继)非线性结构:一对多,一个结点有多个直接前趋和直接后继。
也可以细分为4类:集合(集合中的元素除了同属于一个集合,无任何其他关系),线性结构(一对一),树(一对多),图(多对多)
2.物理结构或数据的存储结构: (是数据的逻辑结构在计算机存储器中的表示)
四种基本的存储结构:顺序,链式,索引,散列。
1.顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系用数据元素的存储位置来表示。C语言中用数组来实现顺序存储结构的。
2.链式存储结构:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。
3.索引:如通讯录右侧二十六个字母就是索引表
4.散列:根据结点的关键字计算出该结点的存储地址。
3.数据运算(插入、删除、修改、查找、排序运算)
18.存储结构是逻辑关系的映像与元素本身的映像;
逻辑结构是数据结构的抽象,存储结构是数据结构的体现。
文章内容的学习来源自:
1.哔哩哔哩(王卓)数据结构和算法基础视频;
2.SBS Spoc 算法与数据结构课程PPT