- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 哈工大数据结构实验3-图形结构及其应用
文章目录实验目的实验要求及实验环境实验要求实验环境设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)堆的数据结构图的存储结构1图的存储结构2:流程图调用关系测试结果源代码实验目的通过实现Dijkstra算法和Floyd-Warshall算法,理解各种情况下最短路径求解的基本思想,并通过堆优化理解算法的优化思想,熟练运用各种数据结构实现对图的存储。实验要求及实验环境实验要求实现单源最短路径的 Dijkstra 算法,输出源点及其到其他顶点的最短路径长度和最短
2021-07-12 14:45:34 1953
原创 哈工大数据结构实验2-树形结构及其应用
文章目录实验目的实验要求及实验环境实验要求:设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)数据类型:存储读入字符及其频率的数据结构存储字符哈夫曼树的数据结构存储字符哈夫曼编码表的数据结构存储单词哈夫曼树的数据结构存储单词哈夫曼编码表的数据结构存储k叉哈夫曼树的数据结构存储堆的数据结构流程图调用关系测试结果测试样例1测试样例2源代码实验目的利用树形结构实现对文本的哈夫曼编码及译码,包括对字符的编码译码和对单词的编码译码,在此过程中熟练掌握树形结构的应用。实验要求
2021-07-12 14:35:40 1690
原创 哈工大数据结构实验1-线性结构及其应用
文章目录一、实验目的二、实验要求及实验环境实验要求实验环境三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系)逻辑设计物理设计数据类型的定义流程图调用关系源代码一、实验目的 通过设计一元多项式计算器深入理解并熟练运用线性结构解决实际问题,在此过程中强化逻辑能力及编程能力。二、实验要求及实验环境实验要求 以动态或者静态链表存储一元多项式,在此基础上按要求完成对一元多项式的运算。(为保证多项式的值的准确性,多项式的系数可以用分数表示,涉及到两个分数相除时
2021-07-12 14:21:29 2022 1
原创 哈工大数据结构作业5-查找结构与排序方法
本文是笔者2020年秋哈工大数据结构作业5自己的代码,由于本人能力有限,可能存在一些错误,欢迎指出。 本次作业是二选一,临近期末,笔者就选了个比较水的败者树。文章目录作业题目:利用败者树实现锦标赛排序(树形选择排序)设计败者树的存储结构利用败者树实现锦标赛排序作业题目:利用败者树实现锦标赛排序(树形选择排序) 败者树实际上是一棵完全二叉树,可以看作是胜者树的一种变体。败者树简化了重构,败者树的重构只是与该结点的父结点的记录有关,而胜者树的重构还与该结点的兄弟结点有关。败者树作为一种重要的数据
2021-07-12 14:03:10 908
原创 哈工大数据结构作业4-图形结构及其应用
本文是笔者2020年秋哈工大数据结构作业3自己的代码,由于本人能力有限,可能存在一些错误,欢迎指出。 本次作业是有向图和无向图二选一,笔者选的是有向图。完整源代码链接:https://download.csdn.net/download/qq_45853731/20213288?spm=1001.2014.3001.5503 本文仅供参考,严禁抄袭!文章目录作业题目:图的存储结构的建立与搜索存储结构分别实现有向图的邻接矩阵和邻接表存储结构的建立算法,分析和比较各建立算法的时间复杂度以及存储结
2021-07-12 13:55:01 1631 1
原创 哈工大数据结构作业3-树形结构及其应用
本文是笔者2020年秋哈工大数据结构作业3自己的代码,由于本人能力有限,可能存在一些错误,欢迎指出。 本文仅供参考,严禁抄袭!文章目录作业题目:二叉树存储结构的建立、遍历和应用编写建立二叉树的二叉链表存储结构(左右链表示)的程序,并以适当的形式显示和保存二叉树采用二叉树的二叉链表存储结构,编写程序实现二叉树的先序、中序和后序遍历的递归和非递归算法以及层序遍历算法,并以适当的形式显示和保存二叉树及其相应的遍历序列设计并实现判断任意一棵二叉树是否为完全二叉树的算法设计并实现计算任意一棵二叉树的宽度的(
2021-07-12 13:36:52 1188
原创 哈工大数据结构作业2-线性结构及其应用
本文是笔者2020年秋哈工大数据结构作业1自己的代码,由于本人能力有限,可能存在一些错误,欢迎指出。 本文仅供参考,严禁抄袭! 2020年秋的作业2是二选一,笔者选的是算术表达式求值。由于撰写该篇博文时距编写该作业源代码已有半年多的时间,因此再看这些代码,思路早已不清晰。这里只将代码放上,恕难详细描述思路,希望有心的读者耐心阅读源码,若有不通之处可评论或私聊。文章目录基本数据结构辅助函数从文本文件输入任意一个语法正确的(中缀)表达式,显示并保存该表达式利用栈结构,把上述(中缀)表达式转换成后缀
2021-07-12 13:17:17 708
原创 哈工大数据结构作业1-线性结构的存储结构与应用
本文是笔者2020年秋哈工大数据结构作业1自己的代码,由于本人能力有限,可能存在一些错误,欢迎指出。文章目录线性表的顺序存储结构顺序存储结构的定义删除给定元素的算法对于已排好序的线性表,删除所有重复元素的算法线性表“逆置”算法线性表循环左移/右移 k 位的算法合并两个已排好序的线性表的算法辅助函数主函数线性表的链式存储结构链式存储结构的定义删除给定元素的算法对于已排好序的线性表,删除所有重复元素的算法线性表“逆置”算法线性表循环左移/右移 k 位的算法合并两个已排好序的线性表的算法辅助函数主函数线性表
2021-07-12 12:53:21 983 1
原创 哈工大软件构造-泛型与通配符
泛型泛型是参数化类型,即将原来具体的类型定义为参数形式,而不明确具体的类型。从本质上看,泛型实际上是一种延迟明确的方式,即把类型明确的任务推迟到调用方法或创建对象时完成。泛型的好处从功能上看,泛型可以将传入的具体类型按照其原类型进行隐式的、自动的强制转换,无需程序员显示进行转换。例如:public class A<L>{ private L a; public void set(L a){ this.a = a; } public L get(){ return th
2021-07-07 14:56:32 133
原创 计算机系统大作业——程序人生
本文以Hello程序从源程序到被编译、链接,再到在系统上运行,最后终止的整个生命周期为例介绍了计算机系统创建并运行程序时的工作方式与机制,包括进程、存储、异常和IO等,探究由硬件和系统软件组成的计算机系统是如何工作并影响程序的正确性和性能的,系统地总结了计算机系统中编译并运行程序的机制与方式,介绍了必备的概念。这有利于我们深入理解计算机系统的工作方式,为我们更好地编写程序打好底层基础。关键词:计算机系统;程序;运行机制
2021-06-28 16:07:05 1420
原创 哈工大软件构造-知识点整理二
思路:按照Graph,java中的说明对每一个方法进行重写,并设计编写Edge类,其中Edge类中包含的方法有:检查RI,构造方法,获取边的起点,获取边的终点,获取边的权重,将边转换为字符串。过程:Edge类由三个属性组成:起点、终点、权重:包含五个方法:构造方法中要求输入边的起点、终点和权重;检查表示不变性时根据所写的RI进行起点、终点非空性的检查和权重大于0的检查;获取起点、终点、权重时直接返回相应的属性值;将边转换为字符串时要把边的信息全部放入字符串中。Edge类的测试方法:对
2021-06-27 14:06:14 200
原创 哈工大软件构造-Java面向对象编程重要概念整理
工厂模式工厂模式是Java最常用的设计模式之一,它提供了创建对象的最佳方式。定义定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。作用将类的实例化延迟到工厂类的子类中完成,即由子类来决定应该实例化哪一个类。让其子类实现工厂接口,返回的也是一个抽象的产品,因此可以解决接口选择的问题。应用举例您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的
2021-06-10 15:30:11 176 1
原创 哈工大软件构造-Lab1经验教训总结
在软件构造Lab1中初次接触Java、JUnit、Git、Travis等语言与工具,收获颇多,当然也遇到了很多坑,下面是Lab1中经验教训的一个总结。java读写文件1.从文件中读入数据以按行读入数据到List中为例:try { File file = new File(fileName); InputStreamReader input = new InputStreamReader(new FileInputStream(file)); BufferedReader buffe
2021-05-24 21:16:03 410
原创 时间序列异常数据检测学习笔记
最近开始学习数据科学,从数据清洗中的异常数据监测入手,读了几篇文献,现将一些理解和认识总结一下,当作笔记。其中方法的介绍可能不太详细,理解也可能不太准确,只为路过的各位提供一个参考。异常数据检测的意义数据存在重复、因传感器等测量仪器问题引起的数据错误、缺失等情况,若将这种数据也用于数据分析和预测,分析或预测的结果会出现一定偏差。另一方面,当设备出现异常时,利用异常数据检测可能会检测出设备的异常,做到早发现、早处理。对时序数据及其处理的理解与认识1.时间序列数据中,“时间连续性”(temporal
2020-08-19 09:14:34 1794
原创 “Pig Latin”是一个英语儿童文字改写游戏,整个游戏遵从下述规则
Python程序设计题目内容:“Pig Latin”是一个英语儿童文字改写游戏,整个游戏遵从下述规则:(1). 元音字母是‘a’、‘e’、‘i’、‘o’、‘u’。字母‘y’在不是第一个字母的情况下,也被视作元音字母。其他字母均为辅音字母。例如,单词“yearly”有三个元音字母(分别为‘e’、‘a’和最后一个‘y’)和三个辅音字母(第一个‘y’、‘r’和‘l’)。(2). 如果英文单词以元音字母开始,则在单词末尾加入“hay”后得到“Pig Latin”对应单词。例如,“ask”变为“askhay”
2020-08-09 11:15:04 2173
原创 若已知1800年1月1日为星期3,则对于一个给定的年份和月份,输出这个月的最后一天是星期几
Python程序设计题目内容:若已知1800年1月1日为星期3,则对于一个给定的年份和月份,输出这个月的最后一天是星期几。输入格式:两行整数,分别代表年份和月份输出格式:星期数,0代表星期日输入样例:203312输出样例:6时间限制:500ms内存限制:32000kbmon1=[31,28,31,30,31,30,31,31,30,31,30,31]mon2=[31,29,31,30,31,30,31,31,30,31,30,31]count=0yy=int(input(
2020-08-09 11:09:51 1303 1
原创 Python判断是否为回文数的方法
只要看清回文数的特征,并结合python提供的工具即可很快的得出答案。回文数无论正着看还是反着看,它们都是一样的,因此比对“正序”和“逆序”字符串是否相同即可。而python又提供了反转字符串的简便方法。即lst[::-1],利用此,即可容易判断回文数。def is_back(n): lst=list(str(n)) if lst==lst[::-1]: return 1 else: return 0...
2020-08-09 11:07:04 1800
原创 新建的Django项目运行时报错
用Pycharm新建了一个Django项目,试图运行时报错,信息如下:"D:\Python\bin\runnerw64.exe" "D:\Python\Python 3.8.5\python.exe" D:/Python/WebStuManage/manage.py runserver 8000Traceback (most recent call last): File "D:/Python/WebStuManage/manage.py", line 22, in <module>
2020-08-09 10:56:40 717
原创 C语言对链表的排序问题
C语言中,若想直接对链表进行排序或许有些复杂,而且一个节点中可能有多个键值,如果要对链表实现多个键值的排序则更加复杂。考虑到这个问题的复杂性,我想到了之前学过的指针数组,令数组存储一系列指针,这些指针分别指向链表的每一个节点,当需要排序时,只需将这些指针进行排序即可,这样实现的速度快,且能减少代码量。具体实现实例请参考我的另一篇文章:https://blog.csdn.net/qq_45853731/article/details/107889388...
2020-08-09 10:20:37 760
原创 C#基于asp.net的学生信息管理系统(Web)
新建项目如图:在最后选择时选中空,然后在右侧添加文件夹和核心引用下勾选Web窗体,点击创建即可。进入项目之后,右键单击项目名,点击新建项,新建一个Web窗体,我们就可以在其中布置页面、编写代码啦!需要指出的是,用Visual Studio 2019编写基于asp.net的Web程序时,页面布置并不像开发基于.net的Windows桌面应用程序那样方便和简单,若想要一个美观的布局,就需要用到css以及控件table等工具用心布置,在这个项目中由于时间关系我只美化了登录界面。控件使用与事件添加
2020-08-09 09:56:09 35132 40
原创 C语言图书管理系统
用C语言写了一个图书管理系统,功能包括登录、放音乐、各种排序与输出、读写文件等,代码中注释较为详细,这里就不多说了,直接上代码。(第二个功能因需要原始文件,因此若无文件或文件格式错误则会报错;音效部分也需要音乐文件,若无相关文件也会报错)需要指出的一点是,对于链表中元素的排序,由于改变链表每一个节点的相对位置比较繁琐,这里采用的方法是用指针数组指向链表的节点,排序时只需对指针数组进行排序即可,原链表不会发生改变,这样速度较快,且比较简便。程序在很多地方都还可以简化和优化。文末会附上部分界面的截图。#
2020-08-09 08:32:14 2696 1
原创 C#基于.Net框架的学生信息管理系统(Windows桌面应用程序)
简介自己用C#编写了一个学生信息管理系统的Windows桌面应用程序,第一次实践,某些地方可能还不够完善,但其中有些函数、方法等的使用可以参考。工具我用的集成开发环境是Visual Studio 2019,数据库是MySQL,可视化数据库管理工具为MySQL Workbench。创建一个项目选择windows窗体应用(.Net Framework),点击下一步即可。进入应用之后,右键点击项目名->添加->新建项->窗体(Windows窗体)->添加。新建好后,在属性栏
2020-08-08 23:11:45 10824 21
原创 Python基于Django的学生成绩管理系统
在Pycharm中创建Django项目在Pycharm中点击File->New Project->选择Django,可以在最上面的框中修改项目名,其余设置可保持默认,最后点击Create。测试项目创建好项目之后,可以先点击Run测试一下项目能否正常运行。在最下面这一栏会出现一个链接,点击进入,若能正常显示,则项目可以正常运行。可能在运行时会有如下错误:NameError: name ‘os’ is not defined这时,只需打开settings.py文件,import os
2020-08-08 21:50:50 7401
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人