自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 JAVA学习笔记——对象(一)

public class 主函数 { public static void main(String[] args) { // TODO Auto-generated method stub //面向对象编程三条主线 /*1.JAVA类及类的成员:属性,方法,构造器,代码块,内部类 属性:成员变量 方法:行为功能 2.面向对象三大特征:封装,继承...

2020-07-02 16:54:51 160

原创 JAVA学习笔记——数组

public static void main(String[] args) { // TODO Auto-generated method stub //一维数组 /*创建数组*/ int array_1[]=new int[10]; //动态初始化 int array_2[]=new int[] {1,2,3,4,5}; //静态初始化 ...

2020-06-25 12:08:22 166

原创 临界矩阵建立图结构

#include<iostream> using namespace std; #define Max 10 int Create(int cost[][Max]) { int Num_point, Num_edge, star, end; cout << "请输入顶点数和边数"; cin >> Num_point >> Num_edge; for (int i = 1; i <= Num_point; i++) { ...

2020-06-21 16:27:37 270

转载 学习笔记——最短路径和关键路径

总括 在我们不知道图的类型(有圈无圈、有负圈无负圈)的时候, Ford算法和上文中Dijkstra算法的优化版会给予我们一种通用的解法, 但是我们要注意到他们的时间复杂度为0(E * V); 这个时间的耗费是巨大的, 所以在我们知道足够的限制条件时我们就可以细化情况, 单独提出无环图这样的一个特例, 优化出时间复杂度为O(N)的线性算法。 除此之外, 无向图的应用中还有关键的一点就是关键路径的求解, 他往往用来求解工程中, 某一事件的优先关系 · · · · 无圈图最短路径 说到无圈图的最短路径, 和

2020-06-06 16:06:59 1939

转载 学习笔记——最小生成树

一、Prim算法: Prim算法实现的是找出一个有权重连通图中的最小生成树,即:具有最小权重且连接到所有结点的树。(强调的是树,树是没有回路的)。 Prim算法是这样来做的: 首先以一个结点作为最小生成树的初始结点,然后以迭代的方式找出与最小生成树中各结点权重最小边,并加入到最小生成树中。加入之后如果产生回路则跳过这条边,选择下一个结点。当所有结点都加入到最小生成树中之后,就找出了连通图中的最小生成树了。 Prim算法最小生成树查找过程: C...

2020-06-06 15:57:13 426

原创 学习笔记——图结构

图的抽象数据类型 类型名称:图 数据对象集:一个非空的顶点集合和一个边集合,每条边用对应的一对顶点表示。 操作集: (1):构造一个有N个顶点但是没有边的图G; (2):在G中增加新边E (3):从G中删除边E (4):判断是否为空 (5):会使用深度优先遍历 (6):会使用广度优先遍历 储存结构: (1):邻接矩阵:可以理解为二维数组 (2):邻接表:链表的方式来表示 类似于树的孩子链表表示法 图的遍历: (1):深度优先遍历(DFS) 沿着一条路一直深入,到无路可走的时候

2020-06-06 15:44:12 306

转载 学习笔记——哈夫曼树

求取哈夫曼树的带权路径长度: 详细参考修理牧场这道题 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L​i​​的总和。 但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次

2020-06-05 17:45:42 227

转载 学习笔记——树

#include <iostream> using namespace std; typedef struct Node {//定义二叉树结构 char data; struct Node *lchild,*rchild; }*BiTree,BiTNode; void CreateBiTree(BiTree &T) {//先序创建二叉树 char ch; cin>>ch; if(ch=='#') T=NULL; else{ ...

2020-06-05 17:33:52 475

原创 学习笔记——堆结构

堆的性质: 1.堆的左节点比父节点小,右节点比父节点大; 2.堆是平衡二叉树 建堆: #include<iostream> #include<algorithm> #include<vector> using namespace std; int main() { vector<int> S = { 0, 1, 2, 3, 4, 5, 6 }; make_heap(S.begin(), S.end()); for (vec...

2020-06-05 17:33:37 179

原创 学写笔记——线性表

1.定义:线性表是由同一类型的数据元素构成的有序序列的线性结构。线性表的元素个数为线性表的长度。 2.线性表的存储实现: 详见于学习笔记——链表的操作 3.堆栈: 堆是一种先入后出的线性表,类似于往水杯里倒水,先倒入的都在杯底,想喝的话只能先把上面的喝掉。 4.队列: 队列是先入先出的线性表,就类似于排队。但是也包括一些特殊情况:优先队列(目前只知道这个) ...

2020-06-05 16:55:06 140

原创 学习笔记——算法的复杂度

1.3.2算法复杂度 1,算法复杂度分为空间复杂度和时间复杂度。 2,复杂度一般有O(n),O(n^2),O(logn),O(nlogn),O(1)。代表某个算法,占用时间和空间与数据之间的增量关系。n代表数据输入的量。 3,O(n) 代表随着数据量的增大,损耗的内存空间和损耗的时间随之增大。数据量增大多少倍,算法复杂度就增加多少倍。(时间复杂度:遍历算法) 4,O(n^2)代表数据量的增加,算法复杂度增大数据量的平方倍。好比数量增加为8倍,算法复杂度增加64倍。(时间复杂度:冒泡排序,对n个数进行

2020-06-05 16:40:27 225

原创 学习笔记——链表的创建,添加数据和打印

#include<iostream> using namespace std; typedef struct Node { int data; //储存节点数据 struct Node* next; //指向下一个节点的指针 } List; List *MakeEmpty() { //创建一个空的链式表 List *head; //定义头指针 he...

2020-03-17 09:58:03 201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除