欢迎来到study-hard-forever的博客

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页
摘要: 最短路径 最短路径问题是图的一个经典问题,常用的求最短路径的方法有 (迪杰斯特拉)Dijkstra算法,(弗洛伊德)Floyd算法。 Dijkstra算法用于求单源点最短路径问题,复杂度为O(n2),而Floyd算法用于求对每一对顶点之间的最短路问题(采用枚举法,枚举所有可能),复杂度为O(n3)。 阅读全文
posted @ 2019-12-01 15:47 study-hard-forever 阅读(1600) 评论(0) 推荐(0) 编辑
摘要: 最小生成树 最小生成树的MST性质: 假设G=(V,E)是一个无向连通网,U是顶点集V的一个非空子集。若(u,v)是一条具有最小权值的边,其中u属于U,v属于V-U,则必存在一棵包含边(u,v)的最小生成树。 证明:现在随机生成一棵生成树T,把V分成U和V - U两个集合,现在已经有一棵生成树T了, 阅读全文
posted @ 2019-12-01 15:37 study-hard-forever 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 根据二叉树的扩展序列构造二叉树,并对其进行前序、中序、后序遍历 描述: 要求: 1.采用二叉链表的方式进行存储 2.构造一个二叉树类 实现以下算法: 1.创建二叉树 2.对二叉树进行前序、中序、后序遍历 输入 扩展的前序序列.在一棵树处理结束后,根据响应判断是否处理下一棵树 输出 前序、中序、后序 阅读全文
posted @ 2019-12-01 15:31 study-hard-forever 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 森林、树、二叉树的性质与关系 这篇博客写的太累了。。。 本文中对于这部分的讲解没有提到的部分: 对于二叉树的遍历:重点讲了非递归遍历的实现方式和代码(递归方法使用的相对较多,请直接参考博客代码) 对于哈夫曼编码和线索二叉树的代码实现没有列出。 树 我们对于树和二叉树这一部分的内容主要研究树的逻辑结构 阅读全文
posted @ 2019-12-01 15:12 study-hard-forever 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: 特殊线性表–栈和队列 顺序栈——栈的顺序存储结构 栈属于特殊的线性表,支持进栈出栈判空判满等基础操作. 可以利用数组模拟栈搭配top值进行以上的基础操作. 两栈共享空间(双端栈) : 在一个程序中需要同时使用具有相同数据类型的两个栈,可以为这两个栈用数组模拟创建共享空间,称为双向栈. 两栈共享空间: 阅读全文
posted @ 2019-11-05 16:44 study-hard-forever 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 线性表 定义: 是零个或多个具有相同类型的数据元素的有限序列, 相邻元素具有前驱和后继关系. 线性表的顺序储存结构: --顺序表: 特点: 线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素. 作用:线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素在物 阅读全文
posted @ 2019-11-05 16:42 study-hard-forever 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 模板 定义: 模板是对具有相同特性的函数或类的再抽象,模板是一种参数化的多态性工具。 所谓参数化多态性,是指将程序所处理的对象的类型参数化,使一段程序代码可以用于处理多种不同类型的对象。 优点: 采用模板编程,可以为各种逻辑功能相同而数据类型不同的程序提供一种代码共享的机制。 模板分为:函数模板, 阅读全文
posted @ 2019-11-05 16:22 study-hard-forever 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 单链表的实现: 描述 定义单链表类,创建带头结点的单链表(节点类型为整型数据),要求包含以下成员函数: 头插法创建单链表(利用构造函数实现) 尾插法创建单链表(重载构造函数实现) 链表的遍历 按值删除一个节点 按位置删除一个节点 链表的析构 输入 输入一组数据,以尾插法的形式创建单链表(0表示输入结 阅读全文
posted @ 2019-10-08 17:47 study-hard-forever 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫环 描述 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 输入 8 1 3 (n=8 k=1 m=3 ) 输出 阅读全文
posted @ 2019-10-08 17:45 study-hard-forever 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 补上之前的文件操作部分,下面是对文件操作的具体知识点列举与使用说明: 文件操作 文件是根据特定的目的而收集在一起的有关数据的集合。C++把每一个文件都看成是一个有序的字节流,每个文件都以文件结束标志结束,如果要操作某个文件,程序必须首先打开该文件。当一个文件被打开后,该文件就和一个流关联起来,这里的 阅读全文
posted @ 2019-07-19 08:45 study-hard-forever 阅读(361) 评论(0) 推荐(0) 编辑
摘要: C++之虚函数与多态: 多态性(Polymorphism)是指一个名字,多种语义;或界面相同,多种实现,重载函数是多态性的一种简单形式。 虚函数允许函数调用与函数体的联系在运行时才进行,称为动态联编。 实现运行时多态的关键首先是要说明虚函数,另外,必须用基类指针调用派生类的不同实现版本,冠以关键字 阅读全文
posted @ 2019-06-23 23:20 study-hard-forever 阅读(129) 评论(0) 推荐(0) 编辑
摘要: C++之组合与继承 组合:将一个类的对象作为另一个类的成员,被称作组合或包含,创建包含对象成员的组合对象时,会执行成员类的构造函数初始化对象成员。成员初始化的次序和成员声明的次序相同,并不考虑它们在初始化列表中的排列顺序。 复用类: 一、如果可以获得源码,修改其源代码 二、如果不能获得源代码,或者担 阅读全文
posted @ 2019-06-23 23:17 study-hard-forever 阅读(541) 评论(0) 推荐(0) 编辑
摘要: C++之运算符重载 可以将运算符看作是一种特殊的函数:操作数是函数的参数,运算结果是函数的返回值, 如果运算符被看作是函数,自然也可以像函数一样重载。 已见过的运算符重载现象:移位运算符>>和<<,用作流输入和输出运算符 定义重载运算符和定义普通函数类似: 函数名:由关键字operator 和其后要 阅读全文
posted @ 2019-06-23 18:46 study-hard-forever 阅读(137) 评论(0) 推荐(0) 编辑
摘要: C++之对象的初始化、复制和销毁 C++定义了几种不同的初始化形式,对于类类型的对象来说,不同的初始化形式意味着要调用不同的构造函数。 初始化方式:默认初始化,直接初始化,拷贝初始化,列表初始化 默认初始化:如果定义对象时没有指定初值,对象被默认初始化,调用类中的默认构造函数,例:A a; //默认 阅读全文
posted @ 2019-06-23 18:39 study-hard-forever 阅读(489) 评论(0) 推荐(0) 编辑
摘要: C++面向对象程序设计 学习心得: 这学期学了C++面向对象程序设计,通过成绩单处理,ATM,通讯录,图书管理系统这几个简单系统,慢慢地对系统的设计有了一个初步的认识。 简单说一下设计系统具体的过程以及一些注意事项:‌ 拿到一个设计的题目或者说一个项目的需求分析,首先要根据大体功能(需求分析)规划出 阅读全文
posted @ 2019-06-23 17:20 study-hard-forever 阅读(627) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页