- 博客(13)
- 收藏
- 关注
原创 哈工大 数据结构与算法 作业4-图型结构及其应用
作业题目 1:图的存储结构的建立与搜索 图的搜索(遍历)算法是图型结构相关算法的基础,本作业要求编写程序 演示无向图典型存储结构的建立和搜索(遍历)过程。作业要求:1.分别实现无向图的邻接矩阵和邻接表存储结构的建立算法,分析和比较各建 立算法的时间复杂度以及存储结构的空间占用情况;2.实现无向图的邻接矩阵和邻接表两种存储结构的相互转换算法;3.在上述两种存储结构上,分别实现无向图的深度优先搜索(递归和非递归) 和广度优先搜索算法。并以适当的方式存储和显示相应的搜索结果(深度优先或 广度优
2021-10-10 19:22:17 1429
原创 哈工大 数据结构与算法 作业3-树形结构及其应用
作业题目:二叉树存储结构的建立、遍历和应用树型结构的遍历是树型结构算法的基础,本实验要求编写程序演示二叉树 的存储结构的建立方法、遍历过程以及应用。作业要求:1.编写建立二叉树的二叉链表存储结构(左右链表示)的程序,并以适当的形 式显示和保存二叉树;2.采用二叉树的二叉链表存储结构,编写程序实现二叉树的先序、中序和后序 遍历的递归和非递归算法以及层序遍历算法,并以适当的形式显示和保存二叉树 及其相应的遍历序列;3.设计并实现判断任意一棵二叉树是否为完全二叉树的算法。4.设计并实现计算
2021-10-10 19:16:19 1150
原创 软件构造blog5
LSP可替换原则LSP可替换原则是第九章中可谓最重要的一个概念,由MIT计算机科学实验室的Liskov在1987年的OOPSLA大会上的一篇文章中提出,主要阐述有关继承的一些原则,故称里氏替换原则。lsp原则的定义和主要思想如下:由于面向对象编程技术中的继承在具体的编程中过于简单,在许多系统的设计和编程实现中,我们并没有认真地、理性地思考应用系统中各个类之间的继承关系是否合适,派生类是否能正确地对其基类中的某些方法进行重写等问题。因此经常出现滥用继承或者错误地进行了继承等现象,给系统的后期维护带来了
2021-07-07 21:12:48 159
原创 软件构造blog4
这里对ADT中的几个重要概念进行一些总结,ADT的思想可谓贯穿这门课的始终,其中包含的表示泄漏、抽象函数AF、表示不变量RI等特性,以及mutable,immutable的概念也是在实验中多次使用。抽象函数AF:表示空间R和抽象空间A之间映射关系的函数,即如何去解释R中的每一个值为A中的每一个值。满足以下特征:满射、非单射、 未必双射 (因为R中的部分值并非合法的, 在A中无映射值)表示不变性RI:某个具体的“表示”是否是“合法的” §,也可将RI看作:所有表示值的一个子集,包含了所有合法的
2021-07-06 23:50:47 124
原创 软件构造blog3
关于重写equals方法和hashCode方法在Lab3中,自己设计了Employee,Process,Course三个类分别来表示职工、进程、课程。并且在其他类中用到了对这三个类的对象进行判相等的操作,这就需要重写equals方法以及hashCode方法。equals()和hashCode()这两个方法属于Object类,而Object类是所有类的父类,因此所有的类都继承了这两个方法。Object类的equals()方法代码如下:public boolean equals(Object ob
2021-07-05 23:59:48 143
原创 软件构造blog2
Java 8 在java.time包下提供了很多新的 API。以下为两个比较重要的 API:(一)LocalDateLocalDate是日期处理类,具体API如下: 关于实验中用到的日期、时间有关的类的整理。 Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理。 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: 非线程安全− java.util.Date 是非线程安全的,所有的日期类都...
2021-07-03 20:18:16 121
原创 哈工大计算机系统大作业
计算机系统大作业题 目 程序人生-Hello’s P2P 专 业 计算机类 学 号 1190202306 班 级 1903001 学 生 宁天弛 指 导 教 师 郑贵滨 计算机科学与技术学院2021年6月摘...
2021-06-27 20:59:12 649
原创 软件构造Lab1问题总结
一、java基础知识由于之前没有使用过java语言,实验中对java一些语法不太了解,在这里整理了实验过程中用到的一些语法(一)异常机制(二)流和文本输入输出BuffedWriter()缓冲,OutputStreamWriter()建立流与Writer之间的桥梁,可写入ascii,gbk等编码方式(自动由unicode转换)示例代码如下://从文件读入BufferedReader in=null;in = new BufferedReader( new InputStrea
2021-05-29 23:24:53 182
原创 PTA7-16一元多项式求导
设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0#include<stdio.h>#include<stdlib.h>#define MAX 1001typedef struct poly{
2021-01-29 19:39:05 250
原创 PTA7-2一元多项式的乘法与加法运算
设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。#include<stdio.h>#include<stdlib.h>typedef struct poly{ int
2021-01-22 22:52:37 218
原创 哈夫曼编码与译码
从文件中读入任意一篇英文文本文件,分别统计英文文本文件中各字符(包 括标点符号和空格)的使用频率;根据已统计的字符使用频率构造哈夫曼编码树,并给出每个字符的哈夫曼编 码(字符集的哈夫曼编码表);将文本文件利用哈夫曼树进行编码,存储成压缩文件(哈夫曼编码文件);计算哈夫曼编码文件的压缩率;将哈夫曼编码文件译码为文本文件,并与原文件进行比较。利用堆结构,优化的哈夫曼编码算法#include<stdio.h>#include<stdlib.h>#define MAXLE.
2020-11-24 11:10:47 4082 5
原创 迪杰斯特拉算法——堆优化
数据结构实验课遇到的题目,要求用堆实现的优先级队列对Djkstra算法进行优化,如有错误还请指正typedef struct graph{ int vernum; int vertex[MAX]; int edge[MAX][MAX];}GRAPH;typedef struct{ int dst; int i;}NODE;typedef struct heap{ NODE vertex[MAX]; int n;}HEAP;int D
2020-11-17 20:37:37 509 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人