自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wonder233的学习博客

学学学学学不过来了啊_(:з」∠)_

  • 博客(25)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 【查找】有序表查找

折半查找:

2018-01-29 17:22:45 483

原创 【查找】顺序表(线性表)查找

最基本的查找技术。算法思想从表中第一个(最后一个)记录开始,逐个进行记录的关键字和给定值比较:若某个记录的关键字和给定值相等,则查找成功,找到所查记录;若直到最后一个(或第一个)记录,其关键字和给定值比较都不等时,则表中没有所查的记录,查找不成功。算法实现function Sequential_Search(a,key){ var i; for(i=0;i< a.length

2018-01-29 16:21:27 777

原创 【查找】基本概念与分类

基本概念查找:在数据元素集合中查找是否存在关键字等于某个给定关键字数据元素的过程。 关键字有:主关键字:能够唯一区分各个不同数据元素的关键字。次关键字:通常不能唯一区分各个不同数据元素。分类查找可分为:静态查找:只在数据元素集合中查找是否存在关键字等于某个给定关键字的数据元素。动态查找:除包括静态查找的要求外,还包括在查找过程中同时插入数据元素集合中不存在的数据元素,或者从数据元素集合中

2018-01-29 15:59:51 487

原创 【排序】归并排序

归并的思想就是将本是无序的数组序列{16,7,13,10,9,15,3,2,5,8,12,1,11,4,6,14}\{16,7,13,10,9,15,3,2,5,8,12,1,11,4,6,14\}通过两两合并排序后再合并,最终获得一个有序的数组。如下图。基本思想二路归并排序: 假设初始序列含有 nn 个记录,则可以看成是 nn 个有序的子序列,每个子序列的长度为 11 ,然后两两归并,得到 ⌈n

2018-01-28 13:21:44 337

原创 【排序】选择排序

大顶堆:每个节点的值都大于或等于其左右孩子结点的值。 小顶堆:每个节点的值都小于或等于其左右孩子结点的值。 堆是完全二叉树。 若按照层序遍历的方式给结点从 1 开始编号,则结点之间满足如下关系: {ki≥k2iki≥k2i+1或{ki≤k2iki≤k2i+1,1≤i≤⌊n2⌋\begin{cases}k_i\ge k_{2i}\\k_i\ge k_{2i+1}\end{case

2018-01-26 17:02:04 226

原创 【排序】插入排序

基本思想将待排序的数组元素分成多个子序列,使得每个子序列的元素个数相对较少,然后对各个子序列分别进行直接插入排序,待整个待排序列“基本有序”后,最后在对所有元素进行一次直接插入排序。 希尔排序是对直接插入排序算法的优化和升级。关键采用跳跃分割的策略:将相距某个“增量”的记录组成一个子序列,这样才能保证在子序列内分别进行直接插入排序后得到的结果是基本有序而不是局部有序。基本

2018-01-25 15:35:51 279

原创 【排序】交换排序

定义排序要用到的结构:function List(array){ this.L = array; this.length = array.length;}冒泡排序基本思想两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。算法实现/* 冒泡排序 */List.prototype.BubbleSort = function () { var i, j, tmp

2018-01-25 09:36:18 785

原创 【排序】基本概念与分类

定义假设含有 n" role="presentation" style="position: relative;">nnn 个记录的序列为 {r1,r2,...,rn}" role="presentation" style="position: relative;">{r1,r2,...,rn}{r1,r2,...,rn}\{r_1,r_2,...,r_n\},其相应的关键字分别为 {k1,k

2018-01-24 15:27:21 343

原创 【图】拓扑排序

定义设 G=(V,{E})G=(V,\{E\}) 是一个具有 nn 个顶点的有向图,VV中的顶点序列 v1,v2,...,vnv_1,v_2,...,v_n 满足若从顶点 viv_i 到 vjv_j 有一条路径,则在顶点序列中顶点 viv_i 必在顶点 vjv_j 之前。则称这样的顶点序列为一个拓扑序列。拓扑排序:对一个有向图构造拓扑序列的过程。 AOV网:在一个表示工程的有向图中,用顶点表示活动

2018-01-24 11:13:49 264

原创 【图】最短路径:弗洛伊德(Floyd)算法

特点弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理无向图或有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包。基本思想通过 Floyd 算法计算图 G=(V,{E})G=(V,\{E\}) 中各个顶点的最短路径时,需要引入两个矩阵:矩阵 DD 中的元素 a[i][j]a[i][j] ,表示顶点 ii 到顶点 jj 的最短路径权值和。矩阵 PP 中

2018-01-24 09:56:06 777

原创 【图】最短路径:迪杰斯特拉(Dijkstra)算法

网图和非网图中,最短路径的含义不同:非网图中,因为没有边上的权值,最短路径指的是两顶点之间经过的边数最少的路径;网图中,最短路径指的是两顶点之间经过的边上权值之和最少的路径,并且称路径上的第一个顶点是源点,最后一个顶点是终点。迪杰斯特拉(Dijkstra)算法定义Dijkstra(迪杰斯特拉)算法是单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。特

2018-01-19 22:10:55 1863

原创 【图】最小生成树(最小成本):克鲁斯卡尔(Kruskal)算法

给出一个连通网: 克鲁斯卡尔(Kruskal)算法基本思想假设 N=(V,{E})N=(V,\{E\}) 是连通网:令最小生成树的初始状态为只有 nn 个顶点并且没有边的非连通图 T={V,{}}T=\{V,\{\}\} ,图中每个顶点自成一个连通分量。在 EE 中选择代价最小的边,若该边的两个顶点落在 TT 中不同的连通分量上,则将此边加入到 TT 中,否则就舍去此边而选择下一条代价最小的边

2018-01-19 11:09:40 6369 3

原创 【图】最小生成树(最小成本):Prim算法

最小成本:nn 个顶点,用 n−1n-1 条边把一个连通图连接起来,并且使得权值的和最小。 最小生成树:构造连通网的最小代价生成树。 根据原来写的博客:【图】图的定义,里面提到一个连通图的生成树是一个极小连通子图,它含有图中全部的顶点,但只有足以构成一棵树的 n−1n-1 条边。找连通网的最小生成树,经典的有两种算法:普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法。先给出一个连通网

2018-01-18 21:53:01 7971 2

原创 【图】深度优先遍历&广度优先遍历

图的遍历:从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次。因此,为了避免多次访问某一个定点,需要在遍历过程中把访问过得顶点打上标记。具体办法是设置一个访问数组 visited[n]visited[n],初值为 0,访问过后设置为 1。深度优先遍历(Depth_First_Search)类似树的前序遍历。 步骤:从图中某个顶点 vv 出发,访问此顶点;然后从 vv 的未被访问的邻

2018-01-18 17:09:33 3149

原创 【图】抽象数据类型及存储结构

抽象数据类型ADT:图(Graph) Data:顶点的有穷非空集合和边集合 Operation:Graph(V):按照顶点集 VV 初始化图。addVex(v):在图 G 中添加新顶点 vv。deleteVex(v):删除图 G 中顶点 vv 及其相关弧。addEdge(v1,v2):在图 G 中添加弧<v1,v2><v_1,v_2>,若 G 是无向图,则还需要增添对称弧 <v2,v1>

2018-01-17 21:23:00 2753

原创 【图】图的定义

图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成。 通常表示为:G(V,{E})G(V,\{E\}),其中,G 表示一个图,V 是图 G 中顶点的结合,E 是图 G 中边的集合。各种图定义无向边:若顶点 viv_i 到 vjv_j 之间的边没有方向,则称这条边为无向边(Edge)。用无序偶对 (vi,vj)(v_i,v_j) 来表示。 无向图:图中任意两个顶点之间的边都

2018-01-17 09:48:53 527

原创 【二叉树】哈夫曼定理与原理

1、从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称作路径的长度。 2、树的路径长度是从树根到每一结点的路径长度之和。 3、树的带权路径长度(WPL)是树中所有叶子结点的带权路径长度之和。 4、带权路径长度 WPL 最小的二叉树称作哈夫曼树。哈夫曼算法描述根据给定的 nn 个权值 {w1,w2,...,wn}\{w_1,w_2,...,w_n\}

2018-01-16 09:38:54 719

原创 【二叉树】特殊二叉树及二叉树的性质

特殊的二叉树满二叉树定义所有分支结点都存在左子树和右子树,并且所有叶子结点都在同一层上。 特点叶子只能出现在最下一层。出现在其它层就不可能达成平衡。非叶子结点的度一定是2.在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。完全二叉树定义对一棵具有 nn 个结点的二叉树按层序编号,编号为 i(1≤i≤n)i (1 \le i \le n) 的结点与同样深度的满二叉树中编号为 ii 的

2018-01-14 15:35:12 828

原创 兼容IE的图片上传预览功能

<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <style type="text/css"> #preview, .img, img { width:200px;

2018-01-12 17:16:39 326

原创 JS调用本地摄像头拍照(兼容各大浏览器及IE8+)

最近做的项目遇到了个难题,使用video+canvas+getUserMedia()写的调用本地摄像头拍照不兼容IE。 原因:IE8及以下不支持HTML5标签:video和canvas;IE11及以下所有版本,包括Edge都不支持getUserMedia()。 所以,这几天在网上各种搜,发现想要兼容IE浏览器就只能使用Flash。解决方案方案一flash+as3.0+swf

2018-01-12 17:08:42 32344 15

原创 【树】定义

节点分类1、结点拥有的子树数称为结点的度(Degree)。 2、度为 0 的结点称为叶节点(Leaf)或终端节点;度不为 0 的结点称为分支节点或非终端节点。 3、树的度是树内各结点的度的最大值。节点间关系1、结点的子树的根称为该结点的孩子(Child),该结点称为孩子的双亲(Parent)。 2、同一个双亲的孩子之间互称兄弟(Sibling)。 3、结点的祖先是从根到 该结点所经分支上的所

2018-01-12 10:59:01 215

原创 【算法】Sunday算法(模式匹配)

背景Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。相对比较KMP和BM算法而言,简单了许多。原理平均性能的时间复杂度为O(n); 最差情况的时间复杂度为O(n * m)。匹配原理: 从前往后匹配: - 如果遇到不匹配情况判断母串 dest 参与匹配的最后一位的下一位字符,如果该字符出现在模板串 pattern 中,选择最右出现的位置进

2018-01-11 18:39:53 3651 2

原创 线性表

线性表定义线性结构的特点: 除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素。 主要操作特点: 可以在任意位置插入和删除一个数据元素。抽象数据类型数据集合[a0,a1,a2,...,an−1][a_0,a_1,a_2,...,a_{n-1}]方法集合初始化ListInitial(L)求当前数据元素个数ListLeng

2018-01-10 16:08:52 185

原创 栈Stack

1、栈(Stack)是限定仅在表尾进行插入或删除操作的线性表。 2、表尾为栈顶(top),表头为栈底(bottom),不含元素的空表为空栈。 3、栈又称为后进先出(last in first out)的线性表。栈的顺序存储结构结构1、用数组下标为0的一端作为栈底比较好,因为首元素都存在栈底,变化最小。 2、定义一个top变量来指示栈顶元素在数组中的位置。 3、若存储栈的长度为 StackSi

2018-01-05 14:50:07 265

原创 将iCheck插件用angularjs的方式封装成组件

最近做的angularjs工程项目想把多选和单选框变得更美观一点,就在项目里引用了iCheck插件。 但是使用了icheck插件后,会生成一个美化过的div覆盖在原来的checkbox或者radio之上,而原来的checkbox或者radio会被隐藏。 故而,当点击多选框时,不会直接触发事件使得绑定到checkbox或者radio上的model值改变。 所以,需要重新绑定事件,使用$ngMod

2018-01-03 17:41:23 1343 4

湖南大学微机课件

湖南大学微计算机系统与接口技术ppt课件

2015-11-15

MATLAB学习指导教程

matlab学习指导教程,很全哦 学习用教程

2015-11-14

matlab入门教程

matlab自学教程,数学建模基础教程, MATLAB的概述 MATLAB程序设计基础 MATLAB在数值计算中的应用 MATLAB的符号计算 MATLAB的图形处理

2015-11-14

pintos安装步骤(自制)

pintos的安装步骤,自己写的,在ubuntu14.1上安装pintos的过程可能会出的错以及解决办法

2015-09-29

3DMax快捷键

3DMax快捷键学习,一旦不记得可以打开查看

2015-09-29

c语言画图及小动画制作

c语言画图及小动画制作(graphics.h函数入门)

2014-11-20

java的jdk学习包

java的jdk学习包 免费的 大家可尽情下载~

2014-09-23

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

TA关注的人

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