1
1
mirror of https://github.com/ParkMoonJ/KaoYan.git synced 2026-06-18 01:36:31 +08:00

Create 1.16.cpp

This commit is contained in:
ParkMoonJ
2021-04-06 08:03:15 +08:00
parent 7cd379555b
commit 086500c2a1
3 changed files with 73 additions and 2 deletions

View File

@@ -1,6 +1,20 @@
# 第一章 绪论
## 1.2 基本概念和术语
## 一、基本内容
数据、数据元素、数据对象、数据结构、存储结构和数据类型等概念术语的确定含义;抽象数据类型的定义、表示和实现方法;描述算法的类 C 语言;算法设计的基本要求以及从时间和空间角度分析算法的方法。
## 二、学习要点
1. 熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之间的关系。分清哪些是逻辑结构的性质,哪些是存储结构的性质。
2. 了解抽象数据类型的定义、表示和实现方法。
3. 熟悉类 C 语言的书写规范,特别要注意值调用和引用调用的区别,输入、输出的方式以及错误处理方式。
4. 理解算法五个要素的确切含义:①动态有穷性(能执行结束);②确定性(对于相同的输入执行相同的路径);③有输入;④有输出;⑤可行性(用以描述算法的操作都属足够基本的)。
5. 掌握计算语句频度和估算时间复杂度的方法。
## 三、基础知识题
### 1.1 简述下列术语:数据、数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
**数据data**:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。他是计算机程序加工的「原料」。
@@ -16,4 +30,40 @@
**数据类型data type**:一个值的集合和定义在这个值集上的 <u>一组操作</u> 的总称。
**抽象数据类型**
**抽象数据类型abstract data typeADT**:是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关。
> ADT = 数据对象 + 数据关系 + 基本操作集 → 可定义完整数据结构
### 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
设有数据结构$D,R$,其中
$$D=\{d_1,d_2,d_3,d_4\},R=\{r\},r=\{(d_1,d_2),(d_2,d_3),(d_3,d_4)\}$$
试按图论中图的画法惯例画出其逻辑结构图。
## 四、算法设计题
### 1.16 试写一算法,自大至小依次输出顺序读入的三个整数 $X,Y$ 和 $Z$ 的值。
```cpp
#include <iostream>
using namespace std;
void swap(int &a, int &b) {
int tmp;
tmp = a;
a = b;
b = tmp;
}
int main() {
int x, y, z;
cin >> x >> y >> z;
if (x < y) swap(x, y);
if (y < z) swap(y, z);
if (x < y) swap(x, y);
cout << x << ' ' << y << ' ' << z << endl;
return 0;
}
```

BIN
1.16 Executable file

Binary file not shown.

21
1.16.cpp Normal file
View File

@@ -0,0 +1,21 @@
// 1.16 试写一算法,自大至小依次输出顺序读入的三个整数 X,Y 和 Z 的值。
#include <iostream>
using namespace std;
void swap(int &a, int &b) {
int tmp;
tmp = a;
a = b;
b = tmp;
}
int main() {
int x, y, z;
cin >> x >> y >> z;
if (x < y) swap(x, y);
if (y < z) swap(y, z);
if (x < y) swap(x, y);
cout << x << ' ' << y << ' ' << z << endl;
return 0;
}