摘要:
上例子: 其中,map定义时前面一个为键,后面一个为值。 当然使用时需要迭代器 再看另一个例子(使用迭代器): 1 #include <string> 2 #include <stdio.h> 3 #include <iostream> 4 #include <map> 5 6 using name 阅读全文
摘要:
基本思想: 1:从图中某个顶点Vi出发,先访问Vi 2:选择一个与刚访问的顶点Vi相邻且未访问过的顶点,然后访问该顶点。接而以该顶点为新顶点,重复本步骤,知道当前顶点没有未访问的邻接点为止。 3:返回前一个访问过的且仍有未访问的邻接点的顶点,找出并访问该顶点的下一个未访问的邻接点,重复执行步骤2 这 阅读全文
摘要:
有权图的另一种存储结构是边集数组,适用于一些以边为主的操作,用边集数组表示有权图时,列出每条边所依附的两个顶点及边上的权,即每个数组元素代表一条边的信息。 存储结构如下: 完整程序: 1 //无向带权图边集数组存储 2 #include<cstdio> 3 #include<iostream> 4 阅读全文
摘要:
邻接表是图的一种顺序存储和链式存储相结合的存储方法,对于邻接矩阵存储方法中,边数相对顶点较少的图造成的空间浪费,在邻接表中很好的避免了这个问题。 对于图中每个顶点Vi,将邻接于Vi的所有顶点Vj链成一个单链表,单链表中的节点称为表节点,这个单链表就称为顶点Vi的邻接表,对每个顶点的邻接表建立一个头节 阅读全文
摘要:
1.介绍图的相关概念 图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,所以图可以定义为: G=(V,E) 其中,V(G)是图中顶点的有穷非空集合,E(G)是V(G)中顶点的边的有 阅读全文
摘要:
1 #include 2 #include 3 4 const int MAX = 1005; 5 using namespace std; 6 7 typedef struct node{ 8 int x; 9 int pre, next; 10 }Node; 11 12 //整个例子时间主要用于指向下一个节点的过程,代码:46行,66行 13 int... 阅读全文
摘要:
在刷ccf题的时候日常做完去网上查看别的同学怎么做的 发现有使用vector后三十几行代码就写出来的,虽然时间复杂度和我一样十几毫秒,but !我看中了它的代码量啊!多么的少啊! 所以百度了vector的使用方法,这里,只总结一些我暂时会用到的 1.简单的介绍vector: 在c++语言中使用,是一 阅读全文
摘要:
哈夫曼树(最优二叉树) 每个叶子节点都有权值,权值越大的叶节点越靠近根节点,而权值越小的叶节点越远离根节点 建立规则: 依据给出的n个权值,选择最小的两个权值作为一棵新的二叉树的左右子树,并且新的根节点的权值为左右子树权值之和 将新根节点与剩下的有权值的节点重复此操作直至只剩一个根节点 哈夫曼编码: 阅读全文
摘要:
如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,所以就可以定义一个枚举类型来表示它 枚举元素系统按照 阅读全文
摘要:
Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include 阅读全文