03 2018 档案

摘要:C++中setiosflags()的用法 cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2); setiosflags 是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是执行由有参数指定 区 阅读全文
posted @ 2018-03-11 20:14 gd_沐辰 阅读(207) 评论(0) 推荐(0) 编辑
摘要:排序算法之基数排序 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度 阅读全文
posted @ 2018-03-05 16:55 gd_沐辰 阅读(362) 评论(0) 推荐(0) 编辑
摘要:排序算法之合并排序 一、递归的合并排序 思想:合并排序(merge sort)又称归并排序,要点是反复将两个长度较短的有序段,合并成一个有序段,直到数组中只含一个有序段。 递归的合并排序算法: void merge_sort(s) { if(s的长度不大于1) return; 把s分成长度相等的两段 阅读全文
posted @ 2018-03-05 16:51 gd_沐辰 阅读(421) 评论(0) 推荐(0) 编辑
摘要:排序算法之堆排序 堆的定义:堆是每个非叶结点值都大于或等于其儿子值(父大于子)的完全二叉树。 用数组a[n+1]存储长度为n的堆(a[0]不用) a[i]≥a[2*i] a[i]≥a[2*i+1] 根结点a[1]存储的是最大值(大根堆) 可以自定义小根堆 示例 排序阶段的操作方法: 步骤1)令j=n 阅读全文
posted @ 2018-03-05 16:49 gd_沐辰 阅读(268) 评论(0) 推荐(0) 编辑
摘要:排序算法之选择排序 原理:从n个元素中选出一个最大元素,调到序列末端再从剩下的n-1个元素中选出最大元素……,反复如此,可完成排序。 简单选择算法: for(k=n-1;k>0;k - -) { i=0; for(j=1;j<=k;j++) if(a[j]>a[i]) i=j; //选最大元 交换a 阅读全文
posted @ 2018-03-05 16:44 gd_沐辰 阅读(156) 评论(0) 推荐(0) 编辑
摘要:排序算法之快速排序 基本原理——反复进行有序划分。 有序划分方法 在数组a中任选一个元素x作为划分元素,通过比较将小于x的元素换到数组的左端(左段), 将大于或等于x的元素换到数组右端(右段),x本身位于两段之间。如果左、右段元素个数多于1,则递归的将左、右段各自划分,直到每段元素个数都不超过1,从 阅读全文
posted @ 2018-03-05 16:43 gd_沐辰 阅读(337) 评论(0) 推荐(0) 编辑
摘要:排序算法之冒泡排序 原理:反复扫描数组a,比较相邻元素a[i]与a[i+1]。 若逆序(a[i]>a[i+1])就交换 自上而下地扫描的下降法 最大元素下降到底部 自下而上地扫描的上升法 最小元素上升到数组顶部 上升法图例: 简单的冒泡排序算法(上升法) void bubble_sort(int a 阅读全文
posted @ 2018-03-05 16:42 gd_沐辰 阅读(274) 评论(0) 推荐(0) 编辑
摘要:排序算法之希尔排序 基本原理: Donald.L.Shell设计的排序算法。 特点: (1)缩小增量 (2)多遍插入排序 例如,选用增量序列(9,5,3,1) 4个增量,进行4遍插入排序 。 术语: h-排序(h-sorted) h-子序列(h-subsequence) h-有序的(h-ordere 阅读全文
posted @ 2018-03-05 16:40 gd_沐辰 阅读(213) 评论(0) 推荐(0) 编辑
摘要:排序算法 排序的含义:排序(sorting),又称分类。是将无序序列变换成有序序列的一种运算。如果参加排序的数据结点含多个域,那么,排序往往是针对其中某个域而言的。 排序方法的分类: 按数据存储介质:内部排序和外部排序 按比较器个数:串行排序和并行排序 按主要操作:比较排序和基数排序 按辅助空间多少 阅读全文
posted @ 2018-03-05 16:37 gd_沐辰 阅读(247) 评论(0) 推荐(0) 编辑
摘要:图结构的类实现示例 说明:以无向图为例,给出图类、先深搜索和拓扑排序的类实现 1.邻接表存储的图类 (1)有关类型定义 typedef char Vname_type; //顶点名类型,假定字符型 typedef int Vdata_type; //顶点所带信息类型,假定整型 typedef flo 阅读全文
posted @ 2018-03-05 16:34 gd_沐辰 阅读(314) 评论(0) 推荐(0) 编辑
摘要:拓扑排序 概念:将有向图G的顶点排成一个序列,使得,如果v到w有路,则v排在w之前(注意,并非v排在w之前,v到w就一定有路),拓扑排序所得的顶点序列是图的拓扑序列。 算法描述 步骤1)当图中存在入度为0顶点时,循环: ①任选一个入度为0的顶点v,输出v ②删去v,以及v射出的边 步骤2)循环终止时 阅读全文
posted @ 2018-03-05 16:33 gd_沐辰 阅读(442) 评论(0) 推荐(0) 编辑
摘要:Floyd算法 思想:将n个顶点的图G“分成”很多子图 每对顶点vi和vj对应子图Gij(i=0,1,…,n-1和j=0,1,…,n-1) 每对顶点vi和vj都保留一条顶点限于子图Gij中的最短路径Pij(称为待定路径),其长度为Dij,不断地往子图Gij中增加“中间过渡点”(子图不断扩大),不断地 阅读全文
posted @ 2018-03-05 16:29 gd_沐辰 阅读(486) 评论(0) 推荐(0) 编辑
摘要:图的最优化问题:最小生成树、最短路径 典型的图应用问题 无向连通加权图的最小生成树 有向/无向加权图的最短路径 四个经典算法 Kruskal算法、Prim算法 最小生成树 Dijkstra算法、Floyd算法 最短路径 单源最短路径问题(单源路径问题) 求某指定顶点(称为源点)到其余各顶点的最短路径 阅读全文
posted @ 2018-03-05 16:26 gd_沐辰 阅读(270) 评论(0) 推荐(0) 编辑
摘要:最小生成树的Prim算法 思想:采用子树延伸法 将顶点分成两类: 生长点——已经在生成树上的顶点 非生长点——未长到生成树上的顶点 使用待选边表: 每个非生长点在待选边表中有一条待选边,一端连着非生长点,另一端连着生长点 步骤: 步骤1)构造初始待选边表,任选一个顶点v作为初始生长点,对其余每个非生 阅读全文
posted @ 2018-03-05 16:12 gd_沐辰 阅读(323) 评论(0) 推荐(0) 编辑
摘要:图的最优化问题:最小生成树、最短路径 典型的图应用问题 无向连通加权图的最小生成树 有向/无向加权图的最短路径 四个经典算法 Kruskal算法、Prim算法 最小生成树 Dijkstra算法、Floyd算法 最短路径 最小生成树的概念: G=(V,E):无向连通加权图 C(e)或C(v,w): 边 阅读全文
posted @ 2018-03-05 16:08 gd_沐辰 阅读(218) 评论(0) 推荐(0) 编辑
摘要:/*图遍历的源代码 通过邻接矩阵的方式来保存给结点的值,再通过边的连接形成一个图。 验证深度优先搜索、广度优先搜索。 */ 阅读全文
posted @ 2018-03-05 16:05 gd_沐辰 阅读(639) 评论(0) 推荐(0) 编辑
摘要:图的遍历 图的遍历:搜索属于图的基本运算。树的先序遍历和按层遍历的推广。图的遍历也称搜索,主要有: 先深搜索(depth-first search)——深度优先搜索——dfs搜索 先广搜索(breadth-first search)——广度优先搜索——bfs搜索 遍历目的——完成图运算(求子图或路径 阅读全文
posted @ 2018-03-05 16:04 gd_沐辰 阅读(279) 评论(0) 推荐(0) 编辑
摘要:图结构的基本概念 图的定义:用于描述多对多的网状关系。 由用于表示事物的顶点(vertex)集合V,以及表示事物之间关系的边(edge)集合E构成 记作G=(V,E) 顶点数目n>0,边数目m≥0 V:非空有穷顶点(vertex)集 E :V上的顶点对所构成的边(edge)集 边的概念: 1.边 有 阅读全文
posted @ 2018-03-05 15:56 gd_沐辰 阅读(901) 评论(0) 推荐(0) 编辑
摘要:2.检索树类 下面定义的检索树类bin_search_tree 继承二叉树类binary_tree的成员数据(根指针root)和成员函数,并追加检索树特需的成员函数:插入、删除、构造、查找,结点类同binary_node类 阅读全文
posted @ 2018-03-05 15:47 gd_沐辰 阅读(346) 评论(0) 推荐(0) 编辑
摘要:哈夫曼树 定义:给定n个正实数w1至wn,使权WPL(T)达最小值的树,称为哈夫曼树(最优二叉树)。(其中n表示该树中叶结点的数目,wk和lk(k=1,2,···,n)分别表示叶结点ik的权值和从树根到叶结点ik之间的路径长度。) 注意:哈夫曼树必是正则二叉树! 下面还要明白几个重要的概念: 1. 阅读全文
posted @ 2018-03-05 15:43 gd_沐辰 阅读(504) 评论(0) 推荐(0) 编辑
摘要:B树、B++树和Trie树 B树 定义:一个非空M元(也称M阶)B树(R.Bayer,1970年) 满足下列条件: 1)每个结点含有m个元素a1<a2<…<am。含有m个元素的结点有m+1个子树,m称为结点长度 2)结点长度m满足: 根结点,1≤m≤M-1 可以有2~M个子树 非根结点,M/2- 阅读全文
posted @ 2018-03-05 15:35 gd_沐辰 阅读(268) 评论(0) 推荐(0) 编辑
摘要:红黑树 定义: 带有外部结点,且满足下列条件的二叉树: 1)每个结点都有标为红色,或黑色 2)根结点为红色 3)外结点为黑色 4)[红不相邻]每个红结点的儿子必为黑结点 5)根(包括子树的根)到外结点的每条路径上,标记为黑色的结点数相同 结点数与高度之间的关系: 定理: 1.具有n个内结点的红黑树, 阅读全文
posted @ 2018-03-05 15:25 gd_沐辰 阅读(169) 评论(0) 推荐(0) 编辑
摘要:本例子分为3个文件。 阅读全文
posted @ 2018-03-05 15:16 gd_沐辰 阅读(231) 评论(0) 推荐(0) 编辑
摘要:平衡树,又称AVL树。(以前苏联学者Adelson-Velskii和Landis的名字命名) 定义:所有结点的平衡因子绝对值≤1的二叉树(高度h控制在结点数n的对数范围之内 h≤O(logn)的树都属于平衡树(balanced tree))。 平衡因子:右子树的高hR与v的左子树高hL之差hR-hL 阅读全文
posted @ 2018-03-05 15:14 gd_沐辰 阅读(245) 评论(0) 推荐(0) 编辑
摘要:检索树 检索树的定义: 二叉检索树(或二叉排序树,二叉有序树)的简称,任一结点a,其左子树中结点的值均小于或等于a,右子树上结点值均大于a(左小右大)。 性质:中序序列是递增的有序序列。 1.检索树的构建方法: 创建一颗空树,通过遍历,进行有序插入,按照左小右大的原则。 检索树的构建算法: Bptr 阅读全文
posted @ 2018-03-05 15:00 gd_沐辰 阅读(368) 评论(0) 推荐(0) 编辑
摘要:十、用户权限 --建立帐号没有相关权限的帐号,create user user_name; --无密码create user user_name identified by '111'; --建立密码为111的帐号 --建立一个与root帐号权限超级管理员,密码为111,任何主机都可登陆grant 阅读全文
posted @ 2018-03-04 23:01 gd_沐辰 阅读(195) 评论(0) 推荐(0) 编辑
摘要:九、触发器CREATE DATABASE d;USE d; --创建d1,d2,d3,d4四个空表,装触发时的数据--表1CREATE TABLE d1 ( id TINYINT UNSIGNED NOT NULL, score INT UNSIGNED NOT NULL)ENGINE=MYISAM 阅读全文
posted @ 2018-03-04 23:00 gd_沐辰 阅读(119) 评论(0) 推荐(0) 编辑
摘要:八、函数--创建函数/存储过程之分支语句--if else 的使用 --case when 的使用 DELIMITER //CREATE FUNCTION func(s INT) RETURNS VARCHAR(32) --此处返回函数的数据类型,return+sBEGIN DECLARE gra 阅读全文
posted @ 2018-03-04 22:59 gd_沐辰 阅读(146) 评论(0) 推荐(0) 编辑
摘要:七、存储过程delimiter 分界符 procedure 存储过程 declare 声明 set 给变量赋值 DELIMITER // --将程序结束符改为//CREATE PROCEDURE pro() --创建存储过程BEGIN DECLARE k INT; --声明变量,不用加@,赋值可加@ 阅读全文
posted @ 2018-03-04 22:58 gd_沐辰 阅读(127) 评论(0) 推荐(0) 编辑
摘要:六、常用函数 使用格式:select 函数 ;1.时间函数current_time()=curtime(); --当前的时间current_data()=curdate(); --当前的日期current_datetime()=now(); --当前的日期和时间date_format('2016-0 阅读全文
posted @ 2018-03-04 22:57 gd_沐辰 阅读(190) 评论(0) 推荐(0) 编辑
摘要:五、表的约束create table tablename( iint int unsigned not null auto_increment, iiint int not null unique, --唯一约束,自动索引(可以为NULL,不可以重复) sname varchar(20), key( 阅读全文
posted @ 2018-03-04 22:56 gd_沐辰 阅读(125) 评论(0) 推荐(0) 编辑
摘要:四、select的运用 --汇总函数 max()最大值,min()最小值,avg()平均值select max(age),min(age),avg(age) from tablename; --算出表中age的最大值,并非全部max(age)数据select max(age),min(age),av 阅读全文
posted @ 2018-03-04 22:55 gd_沐辰 阅读(142) 评论(0) 推荐(0) 编辑
摘要:三、操作符--基本条件查询之一 〉,<,=,<=,>=,!=(<>)select *from tablename where id>150; --查询id〉150的信息select *from tablename where id!=150;=select *from tablename where 阅读全文
posted @ 2018-03-04 22:53 gd_沐辰 阅读(129) 评论(0) 推荐(0) 编辑
摘要:二、基本知识 --创建数据库 create database basename; --basename代表自定义库名 --查询库中信息show databases; --使用某数据库use basename; --在库中创建表create table tablename(=create table 阅读全文
posted @ 2018-03-04 22:52 gd_沐辰 阅读(143) 评论(0) 推荐(0) 编辑
摘要:数据库 databases 表 table一、数据类型:1.整型tinyint 1个字节smallint 2 mediumint 3int 4bigint 5精度(小数)decimal(4.1) --代表4位数中有1位小数 如:999.9 2.字符char(n) 1个字符varchar(n) n个字 阅读全文
posted @ 2018-03-04 22:50 gd_沐辰 阅读(145) 评论(0) 推荐(0) 编辑
摘要:1.mysql的安装:(1).在'开始'出搜索 'cmd';(2).打开mysql所在磁盘和文件 并安装 d: d:\>cd mysql d:\mysql>cd bin d:\mysql\bin>mysqld --install mysql是自拟的文件夹名 2.开启mysql的服务: d:\mysq 阅读全文
posted @ 2018-03-04 22:49 gd_沐辰 阅读(158) 评论(0) 推荐(0) 编辑