c语言 程序结集,2020年北京航空航天大学991数据结构和C语言编程设计的完整数据集...

9ce808fcc835fbf13169c2ddc6e3deae.png

(7)C语言本身不提供输入和输出句子

(8)该程序应包含注释

五,运行C程序的步骤和方法

C程序的操作步骤如图1-1所示. 实线表示操作流程,虚线表示文件输入和输出.

d594217de134aeafeb1154bca68a7132.png

svg

图1-1C程序操作步骤图

六,编程任务

程序设计涉及从确定任务到获得结果以及编写文档的整个过程. 从发现问题到完成任务,通常经历以下阶段:

1. 问题分析

2. 设计算法

3. 编写程序

4. 编辑,编译和链接源程序以获取可执行程序

5. 运行程序并分析结果

阅读数据结构教程:

第1章简介

5529940dacb4fb1897a16c229dc2b11e.png

1.1复习笔记

I. 数据结构概述

1. 数据结构的定义

(1)基本概念

数据是描述客观事物的数字和字符的集合. 它是可以由计算机操作的对象的通用术语. 它也是计算机处理的信息的特定符号表示.

(2)相关术语

①数据元素

数据元素也称为元素,节点,顶点,记录等. 数据元素是数据的基本单位. 有时,一个数据元素可以由几个数据项组成.

②数据项

数据项也称为字段或域,是具有独立含义的最小数据单元.

③数据对象

数据对象是性质相同的数据元素的集合,是数据的子集.

(3)数据结构的内容

①数据元素之间的逻辑关系,即数据的逻辑结构,它是呈现给用户的数据结构形式.

②数据元素及其在计算机内存中的关系的存储方法

③对数据的操作,即数据的计算.

c0a6a27dbe538ef83fe3692e3c866312.png

(4)逻辑结构

数据的逻辑结构根据逻辑关系(主要是指数据元素的相邻关系)描述数据. 它与数据存储无关,并且独立于计算机. 因此,数据的逻辑结构可以看作是从特定问题中抽象出来的数学模型.

(5)存储结构

数据存储结构是计算机语言中逻辑结构的实现或其在计算机中的表示形式(也称为图像),即计算机中逻辑结构的存储方法取决于计算机语言. 通常,仅在高级语言(例如C / C ++语言)级别上讨论存储结构.

最终需要使用一种算法在相应的存储结构上实现数据的计算.

简而言之,数据结构是一门讨论“描述现实世界实体(通常是非数字计算)的数学模型,并在计算机上表示和实现对它们的操作”的主题.

(6)数据结构的表示形式

对于一个数据结构,逻辑结构始终是唯一的c语言程序设计与数据结构,但它可能对应于多个存储结构,并且在不同的存储结构中,同一操作的实现过程可能不同.

描述性数据结构通常用二进制表示:

B =(D,R)

其中B是一种数据结构,它由一组数据元素D和一组与D的二进制关系R组成,即:

D = {di | 1≤i≤n,n≥0}

R = {rj | 1≤j≤m,m≥0}

其中di表示集合D中的第i个数据元素(或节点),n是D中数据元素的数目. 特别是,如果n = 0,则D是一个空集合. rj表示集合R中的第j个关系,m是R中的关系数,特别是如果m = 0,则R是一个空集合,表示集合D中的数据元素之间没有关系,每个另一个是独立的,与数学中集合的概念一致.

R中的关系r是一组有序对. 对于r (x,y∈D)中的任何有序对,x称为有序对的第一个节点,而y称为. 作为序列对的第二个节点,该序列对的第一个节点称为第二节点的前任节点,第二节点称为第一节点的后继节点. 如果一个节点没有前任节点,则将该节点称为起始节点;否则,将其称为起始节点. 如果一个节点没有后继节点,则该节点称为终端节点.

对于对称阶对,即∈R和∈R(x,y∈D),可以使用括号代替尖括号,即(x,y) ∈R.

5f25f32ff88624f87ae454a5ac47f571.png

数据结构也可以用图形表示,图中的每个节点都对应一个数据元素,并且序列以两个节点之间的对应关系耦合.

2. 逻辑结构类型

(1)收藏

集合意味着数据元素之间除了“属于同一集合”的关系之外没有其他关系.

(2)线性结构

线性结构表示结构中的节点之间存在的关系. 它的特征是起始节点和终止节点是唯一的. 除起始节点和终止节点外,其余节点只有一个,只有一个前任节点,只有一个后继节点. 线性表是典型的线性结构.

(3)树结构

树结构是指结构中节点之间的一对多关系. 其特征是每个节点最多具有一个前驱节点,但可以有多个后继节点,并且可以有多个终端节点. 二叉树是典型的树结构.

(4)图形结构

图形结构是指结构中节点之间的多对多关系. 其特征是每个节点的前任和后继的数目可以是任意的. 图结构可能没有起点和终点,或者可能有多个起点和终点.

树结构和图结构统称为非线性结构.

3. 存储结构类型

(1)顺序存储结构

①存储方法

结构是将逻辑上相邻的节点存储在物理上相邻的存储单元中. 节点之间的逻辑关系由存储单元的邻接关系反映. 顺序存储结构通常通过计算机编程语言中的数组来描述.

②优势

3280e8d733409f0890f10b5fa72c7f50.png

a. 节省存储空间;

b. 可以实现对该节点的随机访问.

③缺点

修改起来并不容易. 插入或删除节点时,可能必须移动一系列节点.

(2)链存储结构

①存储方法

该结构不需要逻辑上相邻的节点在物理上相邻,并且节点之间的逻辑关系由其他指针字段表示. 通常通过计算机编程语言中的指针类型来描述链式存储结构.

②优势

易于修改. 插入或删除时,只需修改相应节点的指针字段,而无需移动该节点.

③缺点

a. 与顺序存储方法相比,链式存储方法的主要缺点是存储空间利用率低;

b. 由于逻辑上相邻的节点在存储空间中不一定相邻,因此无法随机访问这些节点.

(3)索引存储结构

①存储方法

此结构通常在存储节点信息时构建其他索引表. 索引表中的每个项目都称为索引项目. 索引项的一般形式是: (关键字,地址),其中关键字唯一地标识一个节点,而地址是指向该节点的指针.

②优势

a. 这种带有索引表的存储结构可以大大提高数据搜索的速度;

b. 可以随机访问节点;

c. 仍然保持较高的数据修改操作效率.

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-202029-1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值