-
三元组顺 序表 稀疏矩阵的三元组表示及 C语言 做成
所属栏目:[语言] 日期:2022-11-02 热度:1884
本节介绍稀疏矩阵的三元组顺序表压缩存储方式。
通过《矩阵的压缩存储》一节我们知道,稀疏矩阵的压缩存储,至少需要存储以下信息:
矩阵中各非 0 元素的值,以及所在矩阵中的行标和列标;
[详细] -
十字链表 法 十字链表压缩存储稀疏矩阵解析
所属栏目:[语言] 日期:2022-11-02 热度:8831
对于压缩存储稀疏矩阵,无论是使用三元组顺序表,还是使用行逻辑链接的顺序表,归根结底是使用数组存储稀疏矩阵。介于数组 "不利于插入和删除数据" 的特点,以上两种压缩存储方式都不适合解决类似 "向矩阵中添加[详细]
-
行逻辑链接的 顺序表 压缩存储稀疏矩阵 细说
所属栏目:[语言] 日期:2022-11-02 热度:7930
前面学习了如何使用三元组顺序表存储稀疏矩阵,其实现过程就是将矩阵中各个非 0 元素的行标、列标和元素值以三元组的形式存储到一维数组中。通过研究实现代码你会发现,三元组顺序表每次提取指定元素都需要遍历整[详细]
-
数组的排序存储 C语言 版
所属栏目:[语言] 日期:2022-11-02 热度:4084
数组作为一种线性存储结构,对存储的数据通常只做查找和修改操作,因此数组结构的实现使用的是顺序存储结构。
要知道,对数组中存储的数据做插入和删除操作,算法的效率是很差的。
通过以上内容,我[详细] -
图的十 字链表存储构架
所属栏目:[语言] 日期:2022-11-01 热度:1772
前面介绍了图的邻接表存储法,本节继续讲解图的另一种链式存储结构——十字链表法。
与邻接表不同,十字链表法仅适用于存储有向图和有向网。不仅如此,十字链表法还改善了邻接表计算图中顶点入[详细] -
Java运用 自定义包
所属栏目:[语言] 日期:2022-11-01 热度:7409
包的声明和使用非常简单,在了解基本语法之后,下面通过一个案例演示在 Java 程序中声明包,以及不同包之间类的使用。
1)创建一个名为 com.dao 的包。
2)向 com.dao 包中添加一个 Student 类,[详细] -
Java包 package 解说
所属栏目:[语言] 日期:2022-11-01 热度:2579
在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名问题的发生。有时,开发人员还可能需要将处理同一方面的问题的类放在同一[详细]
-
Java 析构方案
所属栏目:[语言] 日期:2022-11-01 热度:9621
析构方法与构造方法相反,当对象脱离其作用域时(例如对象所在的方法已调用完毕),系统自动执行析构方法。析构方法往往用来做清理垃圾碎片的工作,例如在建立对象时用 new 开辟了一片内存空间,应退出前在析构方[详细]
-
Java查找 个人信息
所属栏目:[语言] 日期:2022-11-01 热度:5682
每个员工都会有自己的档案,主管可以查看在职员工的档案。使用 Java 创建一个员工实体类,然后通过构造方法创建一个名为“王洁”的员工,最后打印出员工档案信息。示例步骤如下。
(1) 创建 Pe[详细] -
二分查找 折半寻找 算法详解 C语言实现
所属栏目:[语言] 日期:2022-10-31 热度:1067
折半查找,也称二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。但是该算法的使用的前提是静态查找表中的数据必须是有序的。
例如,在{5,21,13,19,37,75,56,64,88 ,80,92}这个查找表[详细] -
二叉排序树 二叉查找树 及C语言达成
所属栏目:[语言] 日期:2022-10-31 热度:5950
前几节介绍的都是有关静态查找表的相关知识,从本节开始介绍另外一种查找表——动态查找表。
动态查找表中做查找操作时,若查找成功可以对其进行删除;如果查找失败,即表中无该关键字,可以将[详细] -
AOE网求关键路径详解 包括C语言实现代码
所属栏目:[语言] 日期:2022-10-31 热度:8699
在学习拓扑排序一节时讲到拓扑排序只适用于 AOV 网,本节所介绍的求关键路径针对的是和 AOV 网相近的 AOE 网。
什么是AOE网
AOE 网是在 AOV 网的基础上,其中每一个边都具有各自的权值,是一个有向无环[详细] -
数据构架之动态内存管理机制
所属栏目:[语言] 日期:2022-10-31 热度:1102
通过前面的学习,介绍很多具体的数据结构的存储以及遍历的方式,过程中只是很表面地介绍了数据的存储,而没有涉及到更底层的有关的存储空间的分配与回收,从本节开始将做更深入地介绍。
在使用早期的计算机[详细] -
边界标识法管制动态内存
所属栏目:[语言] 日期:2022-10-31 热度:3849
本节介绍一种解决系统中内存碎片过多而无法使用的方法——边界标识法。
每个结点中包含 3 个区域,head 域、foot 域 和 space 域:
space 域表示为该内存块的大小,它的大小通过 hea[详细] -
最佳归并树解析
所属栏目:[语言] 日期:2022-10-28 热度:6954
通过上一节对置换-选择排序算法的学习了解到,通过对初始文件进行置换选择排序能够获得多个长度不等的初始归并段,相比于按照内存容量大小对初始文件进行等分,大大减少了初始归并段的数量,从而提高了外部排序的[详细]
-
置换选择排序算法说明
所属栏目:[语言] 日期:2022-10-28 热度:3759
上一节介绍了增加 k-路归并排序中的 k 值来提高外部排序效率的方法,而除此之外,还有另外一条路可走,即减少初始归并段的个数,也就是本章第一节中提到的减小 m 的值。
m 的求值方法为:m=⌈n/l&rcei[详细] -
多路平衡归并排序 胜者树 败者树 算法细说
所属栏目:[语言] 日期:2022-10-28 热度:9466
通过上一节对于外部排序的介绍得知:对于外部排序算法来说,其直接影响算法效率的因素为读写外存的次数,即次数越多,算法效率越低。若想提高算法的效率,即减少算法运行过程中读写外存的次数,可以增加 k &ndas[详细]
-
socket 函数用法详解 创造套接字
所属栏目:[语言] 日期:2022-10-28 热度:706
不管是 Windows 还是 Linux,都使用 socket() 函数来创建套接字。socket() 在两个平台下的参数是相同的,不同的是返回值。
在《socket是什么》一节中我们讲到了 Windows 和 Linux 在对待 socket 方面的区[详细] -
Windows之socket演示程序
所属栏目:[语言] 日期:2022-10-28 热度:8519
上节演示了 Linux 下的 socket 程序,这节来看一下 Windows 下的 socket 程序。同样,server.cpp 为服务器端代码,client 为客户端代码。
服务器端代码 server.cpp:
#include <stdio.h>
#inc[详细] -
Makefile目标文件搜寻 VPATH和vpath
所属栏目:[语言] 日期:2022-10-27 热度:6800
我们都知道一个工程文件中的源文件有很多,并且存放的位置可能不相同(工程中的文件会被放到不同的目录下),所以按照之前的方式去编写 Makefile 会有问题。
我们之前列举的例子,所有的源文件基本上都是[详细] -
Makefile路径搜索使用示例
所属栏目:[语言] 日期:2022-10-27 热度:4437
我们了解了一下路径搜索的使用方式,我们再来看一下具体的使用方法。
为了体验实例的效果的更加明显,我们按照源代码树的布局来放置文件。我们把源代码放置在src目录下,包含的文件文件是:list1.c、lis[详细] -
Makefile隐含准则
所属栏目:[语言] 日期:2022-10-27 热度:7673
这个章节讲述的是 Makefile 的隐含规则,所谓的隐含规则就是需要我们做出具体的操作,系统自动完成。编写 Makefile 的时候,可以使用隐含规则来简化Makefile 文件编写。
实例:
test:test.o
[详细] -
Makefile ifeq ifneq ifdef和ifndef 条件判别
所属栏目:[语言] 日期:2022-10-27 热度:856
日常使用 Makefile 编译文件时,可能会遇到需要分条件执行的情况,比如在一个工程文件中,可编译的源文件很多,但是它们的类型是不相同的,所以编译文件使用的编译器也是不同的。手动编译去操作文件显然是不可行[详细]
-
Makefile伪标准
所属栏目:[语言] 日期:2022-10-27 热度:8550
这一个章节我们主要讲的是 Makefile 中的伪目标。所谓的伪目标可以这样来理解,它并不会创建目标文件,只是想去执行这个目标下面的命令。伪目标的存在可以帮助我们找到命令并执行。
使用伪目标有两点原因[详细] -
GCC -E选项 对源程序做预处理运作
所属栏目:[语言] 日期:2022-10-26 热度:712
通过前面的学习我们知道,根据源代码文件后缀名的不同,gcc 指令可以自行判断出该源程序是由哪种编程语言编写,从而完成由源代码到可执行代码的转换工作。考虑到本教程主要讲解如何使用 gcc 指令运行 C/C++ 程序[详细]

浙公网安备 33038102330478号