算法
WayBling
SJTU 电子系研究生 研究方向图像处理,机器视觉,人工智能
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构——树(5):霍夫曼树
1,什么是哈夫曼树什么是哈夫曼树呢?哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。下面用一幅图来说明。它们的带权路径长度分别为:图a: WPL=5*2+7*2+2*2+13*2=54图b: WPL=5*3+2*3+7*2+13*1=48可见,图b的带权路径长度较小,我们可以证明图b就是哈夫曼树(也称为最优二叉树)。2,如何构建哈夫曼树一般可以按下面步骤构建:1,将所有左,右子树都为空的作转载 2017-05-16 20:21:17 · 844 阅读 · 0 评论 -
数据结构——树(1):树的基本概念,二叉树、完全二叉树、满二叉树、搜索二叉树
树的基本概念,性质;二叉树、完全二叉树、满二叉树;前序遍历,中序遍历,后序遍历搜索二叉树的定义,插入删除操作原创 2017-02-25 17:25:46 · 2254 阅读 · 0 评论 -
数据结构——树(4):二叉树前序,中序,后序遍历互求
总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法。前序、中序、后序遍历的特性:前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树 2.访问根节点 3.中序遍历右子树 后序遍历: 1.后序遍历左子树 2.后序遍历右子原创 2017-05-15 22:41:59 · 810 阅读 · 0 评论 -
打乱数组
有很多的方法进行排序,但在实验过程中我需要打乱的算法,从http://blog.youkuaiyun.com/cxllyg/article/details/7986352找到了一个打乱算法,亲测可用。#include <iostream>#include <stdio.h>#include <stdlib.h>#include <time.h>using namespace std;void diso原创 2016-09-20 16:37:54 · 1237 阅读 · 0 评论 -
顺序表,链表,栈,队列_Java表示
代码不确认完全正确,主要看逻辑package com.way.datastruct.list;public class SequenceList { //顺序表最大长度 static final int MAXLEN=100; Data[] DataList=new Data[MAXLEN]; int ListLength; //初始化方法,确保空间内全为空原创 2017-01-08 16:02:39 · 389 阅读 · 0 评论 -
多项式计算与乘除[Java实现]
package com.algorithm;import java.util.EnumMap;import com.algorithm.Polynomial.DIV;public class Polynomial { /** * 计算多项式的值 * 内部逻辑是一个简单递归 * @param para 多项数参数组成的数组 para[0]是常数项,para[1]是一原创 2017-02-16 14:44:38 · 2322 阅读 · 0 评论 -
Java随机数
为什么说Java中的随机数都是伪随机数?什么是伪随机数? 1.伪随机数是看似随机实质是固定的周期性序列,也就是有规则的随机。 2.只要这个随机数是由确定算法生成的,那就是伪随机,只能通过不断算法优化,使你的随机数更接近随机。 (随机这个属性和算法本身就是矛盾的) 3.通过真实随机事件取得的随机数才是真随机数。Java随机数产生方式:1,使用Math.random()方原创 2017-02-16 16:44:06 · 668 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环问题: 41个犹太人为了表示不像罗马人屈服,决定集体自杀,其中由约瑟夫和他的朋友,他们两个不想自杀。自杀的规则是41个人围成圈,轮流报数,报到3的自杀,下一个从1开始从新报,以此类推。 约瑟夫和他的朋友想活下来就要让他们成为最后两个人,然后放弃自杀规则。问约瑟夫和他的朋友应该在环的哪两个位置?原创 2017-02-16 20:48:46 · 697 阅读 · 0 评论 -
数据结构——树(2)一般树转二叉树Java实现
一般树转二叉树的算法理论和Java实现原创 2017-02-26 16:38:57 · 1937 阅读 · 2 评论 -
数据结构——树(3):二叉树的前中后层序遍历,Morris遍历比较试验
二叉树有多种遍历方法,按照遍历的顺序分前序,中序,后序,层序,具体内容,不详述到处都是。按是否递归分为递归和非递归。另外还有巧妙的Morris遍历法。今天做一实验来比较它们的效率:构建二叉树类public class BinTree { public int data; public BinTree left; public BinTree right; public B原创 2017-03-14 20:55:32 · 385 阅读 · 0 评论 -
负载均衡算法Java实现
IP地址类:package com.way.LB;import java.util.HashMap;public class IPMap { public static HashMap<String,Integer> serverWeightMap=new HashMap<String,Integer>(); static{ serverWeightMap.put("ht原创 2017-03-27 09:25:05 · 660 阅读 · 0 评论 -
数据结构——图(1),图的存储结构Java实现
图概述图是一种重要的数据结构,基本概念包括:顶点,边,有向,无向,权,路径回路,连通域,邻接点,度,入边,出边,入度,出度等等,很好理解,不赘述,可以参考这篇博客:http://www.cnblogs.com/skywang12345/p/3691463.html图的存储结构图可以使用两种存储结构,分别是邻接矩阵和邻接表。邻接矩阵以矩阵的形式存储图所有顶点间的关系。邻接矩阵具有以下特点:1,邻接矩阵原创 2017-03-29 21:45:39 · 19768 阅读 · 4 评论 -
数据结构——图(2),深度优先搜索和广度优先搜索
沿袭上一篇文章的图存储结构,因为知道有向图和无向图的存储结构相同,只不过数据不同,可以理解为无向图是一种方向必须成对存在的有向图,因此,遍历方法实际上是可以通用的,分为邻接矩阵遍历和邻接表遍历。深度优先搜索图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻原创 2017-03-30 10:24:09 · 1429 阅读 · 0 评论 -
数据结构——图(3),拓扑排序
拓扑排序概念拓扑排序(Topological Order)是指,将一个有向无环图(Directed Acyclic Graph简称DAG)进行排序进而得到一个有序的线性序列。这样说,可能理解起来比较抽象。下面通过简单的例子进行说明! 例如,一个项目包括A、B、C、D四个子部分来完成,并且A依赖于B和D,C依赖于D。现在要制定一个计划,写出A、B、C、D的执行顺序。这时,就可以利用到拓扑排序,它就原创 2017-03-30 13:55:11 · 915 阅读 · 0 评论 -
排序算法_Java表示
十大排序算法,待续原创 2017-01-09 22:46:26 · 753 阅读 · 0 评论
分享