- 博客(43)
- 收藏
- 关注
原创 数据结构之外部排序
外部排序就是对大型文件的排序,待排序的记录存放在外存。在排序的过程中,内存只存储文件的一部分记录,整个排序过程需要进行多次内外存间的数据交换。
2024-02-10 15:49:26
1096
原创 数据结构之内部排序小结
快速排序目前被认为是内部排序方法中最好的方法,当待排序的关键字为随机分布时,快速排序的平均运行时间最短,但堆排序只需一个辅助存储空间,并且不会出现在快速排序中可能出现的最坏情况。迄今为止,已有的排序方法远远不止上述几种,人们之所以热衷于研究各种排序方法,不仅是由于排序在计算机运算中所处的重要位置,还因为不同的方法各有优缺点,可根据需要应用到不同的场合。在选取排序方法时需要考虑的因素有待排序的记录个数 n、记录本身的大小、关键字的分布情况、对排序稳定性的要求、语言工具的条件和辅助空间的大小。
2024-02-09 15:50:00
397
原创 数据结构之归并排序
所谓“归并”,是将两个或两个以上的有序文件合并成为一个新的有序文件。归并排序的一种实现方法是把一个有n个记录的无序文件看成是由n个长度为1的有序子文件组成的文件,然后进行两两归并.
2024-02-07 23:04:06
590
原创 数据结构之堆排序
推排序的基本思想是:对一组待排序记录的关键字,首先按堆的定义排成一个序列(即建立初始堆),从而可以输出堆项的最大关键字(对于大根堆而言),然后将剩余的关键字再调整成新堆,便得到次大的关键字,如此反复,直到全部关键字排成有序序列为止。
2024-02-06 14:37:49
3025
原创 数据结构之快速排序
快速排序的基本思想是: 通过一趟排序将待排的记录划分为独立的两部分,称为前半区和后半区,其中,前半区中记录的关键字均不大于后半区记录的关键字,然后再分别对这两部分记录继续进行快速排序,从而使整个序列有序。
2024-02-05 14:38:46
581
原创 数据结构之希尔排序
希尔排序的基本思想是:先将整个待排记录序列分割成若干子序列,然后分别进行直接插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。具体做法是:先取一个小于 n 的整数 d1 作为第一个增量,把文件的全部记录分成 d1 个组,即将所有距离 d1 倍数序号的记录放在同一个组中,在各组内进行直接插入排序;然后取第二个增量 d2(d2
2024-02-04 16:39:56
553
原创 数据结构之简单排序
在排序过程中需要进行下列两种基本操作:比较两个关键字的大小;将记录从一个位置移动到另一个位置。前一种操作对大多数排序方法来说都是必要的,后一种操作可以通过改变记录的存储方式来避免。
2024-02-03 22:38:54
1089
原创 数据结构之哈希表
哈希表通过计算一个以记录的关键字为自变量的函数(称为哈希函数)来得到该记录的存储地址,所以在哈希表中进行查找操作时,需用同一哈希函数计算得到待查记录的存储地址,然后到相应的存储单元去获得有关信息再判定查找是否成功
2024-02-02 17:41:03
1695
原创 数据结构之动态查找表
动态查找表的特点是表结构本身是在查找过程中动态生成的,即对于给定值 key,若表中存在关键字等于 key 的记录,则查找成功返回;否则插入关键字为 key 的记录。
2024-02-01 09:45:43
1944
原创 数据结构之静态查找表的查找方法
查找是一种常用的基本运算。查找表是指由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着完全松散的关系,因此,查找表是一种非常灵活的数据结构。
2024-01-31 10:21:09
2634
原创 数据结构之查找
查找是一种常用的基本运算。查找表是指由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着完全松散的关系,因此,查找表是一种非常灵活的数据结构。
2024-01-30 10:38:08
430
原创 数据结构之最短路径
数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。数据结构是指数据元素的集合及元素间的相互关系和构造方法。元素之间的相互关系是数据的逻辑结构,数据元素及元素之间关系的存储称为存储结构(或物理结构)。数据结构按照逻辑关系的不同分为和两大类,其中,非线性结构又可分为树结构和图结构。
2024-01-29 14:52:43
1276
原创 数据结构之拓扑排序和关键路径
数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。数据结构是指数据元素的集合及元素间的相互关系和构造方法。元素之间的相互关系是数据的逻辑结构,数据元素及元素之间关系的存储称为存储结构(或物理结构)。数据结构按照逻辑关系的不同分为和两大类,其中,非线性结构又可分为树结构和图结构。
2024-01-28 17:02:43
1090
原创 数据结构之生成树及最小生成树
对于有n个顶点的连通图,至少有n-1条边,而生成树中恰好有n-1条边,所以连通图的生成树是该图的极小连通子图。对于连通网来说,边是带权值的,生成树的各边也带权值,因此把生成树各边的权值总和称为生成树的权,把权值最小的生成树称为最小生成树。
2024-01-27 21:12:18
1810
3
原创 数据结构之图的遍历
图的遍历是指从某个顶点出发,沿着某条搜索路径对图中的所有顶点进行访问且只访问一次的过程。图的遍历算法是求解图的连通性问题、拓扑排序及求关键路径等算法的基础。
2024-01-26 18:51:37
1193
原创 数据结构之图的定义与存储
图是比树结构更复杂的一种数据结构。在线性结构中,除首结点没有前驱、末尾结点没有后继外,一个结点只有唯一的一个直接前驱和唯一的一个直接后继。在树结构中,除根结点没有前驱结点外,其余的每个结点只有唯一的一个前驱(双亲) 结点和多个后继 (子树) 结点。而在图中,任意两个结点之间都可能有直接的关系,所以图中一个结点的前驱结点和后继结点的数目是没有限制的。
2024-01-25 14:38:46
1169
原创 数据结构之树和森林
树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素,树可以用来描述客观世界中广泛存在的层次结构关系。森林则有多棵树构成。
2024-01-24 10:49:27
1375
原创 数据结构之最优二叉树
最优二叉树又称为哈夫曼树,它是一类带权路径长度最短的树。路径是从树中一个结点到另一个结点之间的通路,路径上的分支数目称为路径长度。树的路径长度是从树根到每一个叶子之间的路径长度之和。
2024-01-23 14:54:14
3621
4
原创 数据结构之线索二叉树
二叉树的遍历实质上是对一个非线性结构进行线性化的过程,它使得每个结点(除第一个和最后一个)在这些线性序列中有且仅有一个直接前驱和直接后继。但在二叉链表存储结构中,只能找到一个结点的左、右孩子,不能直接得到结点在任一遍历序列中的前驱和后继,这些信息只有在遍历的动态过程中才能得到,因此,引入线索二叉树来保存这些动态过程得到的信息。
2024-01-22 15:54:47
1018
原创 数据结构之二叉树的遍历
遍历是按某种策略访问树中的每个结点,且仅访问一次的过程。由于二叉树所具有的递归性质,一棵非空的二叉树是由根结点、左子树和右子树三部分构成的,因此若能依次遍历这三部分,也就遍历了整棵二叉树。按照先遍历左子树后遍历右子树的约定,根据访问根结点位置的不同,可得到二叉树的先序、中序和后序3种遍历方法。此外,对二叉树还可进行层序遍历。
2024-01-21 17:30:25
862
原创 数据结构之二叉树的性质与存储结构
二叉树是 n(n≥0)个结点的有限集合,它或者是空树(n=0),或者是由一个根结点及两棵不相交的且分别称为左、右子树的二叉树所组成。二叉树具有递归性质。二叉树的存储结构有顺序存储跟链式存储两种存储结构。
2024-01-20 21:28:13
1068
原创 数据结构之树和二叉树定义
树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素,树可以用来描述客观世界中广泛存在的层次结构关系。
2024-01-19 10:50:06
1316
原创 数据结构之数组、矩阵和广义表
数组与广义表可看作是线性表的推广,其特点是数据元素仍然是一个表。这里讨论多维数组的逻辑结构和存储结构,特殊矩阵和矩阵的压缩存储,广义表的逻辑结构、存储结构和基本运算。
2024-01-18 14:52:05
1541
原创 数据结构之串
串(字符串)是一种特殊的线性表,其数据元素为字符。计算机中非数值问题处理的对象经常是字符串数据,例如,在汇编和高级语言的编译程序中,源程序和目标程序都是字符串;在事处理程序中,姓名、地址等一般也是作为字符串处理的。串具有自身的特性,运算时常常把一个串作为一个整体来处理。这里介绍串的定义、基本运算、存储结构及串的模式匹配算法。
2024-01-17 21:05:58
1406
原创 数据结构之栈和队列
栈和队列是程序中常用的两种数据结构,它们的逻辑结构和线性表相同。其特点在于运算有所限制:栈按“后进先出”的规则进行操作,队列按“先进先出”的规则进行操作,故称为运算受限的线性表。
2024-01-16 17:27:03
1735
原创 解释程序基本原理
解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序或源程序的中间表示形式。因此,解释程序不产生源程序的目标程序,这是它和编译程序的主要区别
2024-01-12 18:20:13
1068
原创 汇编程序基本原理
汇编语言是为特定的计算机设计的面向机器的符号化的程序设计语言。用汇编语言编写的程序称为汇编语言源程序。因为计算机不能直接识别和运行符号语言程序,所以要用专门的翻译程序——汇编程序进行翻译。汇编程序的功能是将用汇编语言编写的源程序翻译成机器指令程序。汇编程序的基本工作包括将每一条可执行汇编语句转换成对应的机器指令;处理源程序中出现的伪指令。
2024-01-11 15:37:19
1406
原创 程序设计语言的基本成分
程序设计语言的基本成分包括数据、运算、控制和传输等。 程序设计语言的数据成分指一种程序设计语言的数据类型;运算成分指明允许使用的运算符号及运算规则;控制成分指明语言允许表述的控制结构,程序员使用控制成分来构造程序中的控制逻辑;传输成分指明语言允许的数据传输方式,如赋值处理、数据的输入和输出等。 函数是程序模块的主要成分,它是一段具有独立功能的程序。函数的使用涉及3个概念:函数定义、函数声明和函数调用。
2024-01-10 22:31:22
1728
原创 计算机系统知识之系统性能评价
性能评测的常用方法:时钟频率、指令执行速、等效指令速度法、数据处理速率法、核心程序法。基准程序法(Benchmark)是目前被用户一致承认的测试性能的较好方法,有多种多样的基准程序,例如主要测试整数性能的基准程序、测试浮点性能的基准程序等。
2024-01-07 14:45:08
1232
原创 计算机系统知识之可靠性
计算机系统的可靠性是指从它开始运行到某时刻 t 这段时间内能正常运行的概率。计算机系统的硬件故障通常是由元器件的失效引起的。对元器件进行寿命试验并根据实际资料统计得知,元器件的可靠性可分成3个阶段。在第一阶段开始阶段,元器件的工作处于不稳定期,失效率较高;在第二阶段,元器件进入正常工作期,失效率最低,基本保持常数;在第三阶段,元器件开始老化,失效率又重新提高,这就是所谓的“浴盆曲线”。因此,应保证在计算机中使用的元器件处于第二阶段。在第一阶段应对元器件进行老化筛选,而到了第三个阶段,则淘汰该计算机。
2024-01-02 22:39:41
1768
原创 计算机系统知识之认证技术
计算机系统知识之认证技术主要是解决网络通信过程中通信双方的身份认证。认证的过程涉及加密和密钥交换。通常,加密可使用对称加密、非对称加密和两种加密方法的混合方法。认证方一般有账户名/口令认证、使用摘要算法认证和基于PKI的认证。
2023-12-29 22:26:39
842
原创 计算机系统知识之加密技术
计算机系统知识之加密技术。加密技术是最常用的安全保密手段,数据加密技术的关键在于加密/解密算法和秘钥管理。数据加密的基本过程就是对原来为明文的文件或数据按某种加密算法进行处理,使其成为不可读的一段代码,通常称为“密文”。“密文”只能在输入相应的秘钥之后才能显示出原来的内容,通过这样的途径使数据不被窃取。数据加密和数据解密是一对逆过程。
2023-12-27 23:17:34
1610
原创 计算机系统知识之安全性
计算机安全是一个涵盖非常广的课题,既包括硬件、软件和技术,有包括安全规划、安全管理和安全监督。计算机安全可包括安全管理、通信与网络安全、密码学、安全体系及模型、容错与容灾、涉及安全的应用程序及系统开发、法律、犯罪及道德规范等领域。
2023-12-21 21:26:35
1010
原创 计算机体系结构之总线结构
所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备连接到总线上。
2023-12-19 21:53:22
1328
原创 计算机体系结构之存储系统
计算机系统中可能包括各种存储器,如CPU内部的通用寄存器组、CPU内的Cache(高速缓存)、CPU外部的Cache、主板上的主存储器、主板外的联机(在线)磁盘存储器以及脱机(离线)的磁带存储器和光盘存储器等。不同特点的存储器通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。
2023-12-17 22:13:06
170
原创 计算机体系结构的发展
计算机体系结构是站在程序员的角度所看到的计算机属性,即程序员要能编写出可在机器上正确运行的程序所必须了解的概念性结构和功能特性。(1)计算机体系结构(Computer Architecture)是指计算机的概念性结构和功能属性。 (2)计算机组织(Computer Organization)是指计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)。 (3)计算机实现(Computer Implementation)是指计算机组织的物理实现。
2023-12-16 23:30:46
285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人