数据结构
xxb2008
这个作者很懒,什么都没留下…
展开
-
图---邻接表的深度搜索与广度搜索测试一
import java.util.LinkedList; import java.util.Queue; //线链 class Line { int index; // 顶点下标 Line nextLine; } // 节点 class Point { String name; boolean isVisit; Line firstLine; pub原创 2013-05-19 16:46:52 · 804 阅读 · 0 评论 -
图---邻接矩阵的深度搜索与广度搜索测试一
目前这里没有考虑,路径权值与方向 简单的图的深度搜索与广度搜索,备忘 import java.util.LinkedList; import java.util.Queue; import java.util.Stack; class Point { String name; boolean isVisit;原创 2013-05-15 13:50:29 · 769 阅读 · 0 评论 -
最短路径--Dijkstra算法
最短路径--Dijkstra算法 Dijkstra算法:原理就是:以某一个节点为源点,向到其他节点进行遍历,寻找源点到各节点的最短路径, 它需要对所有节点进行遍历,所有当节点较多时,效率比较低。 样例程序中是以V0为源点的 xxb2008 http://blog.csdn.net/xxb2008 循环次数原创 2014-03-15 14:25:09 · 1018 阅读 · 0 评论 -
后缀表达式笔记
我们生活中的四则运算称为中缀表达式,而数据结构中使用栈进行四则运算的表达式称为 后缀表达式(逆波兰表达式)。 原因是所有符号是在要运算数字的后面出现的 下面看一个 中缀表达式 9+(3-1)*3+10/2 是如何转换成 9 3 1 - 3 * + 10 2 / + 。 1、后缀表达式计算结果 1、声明一个栈,从左到右遍历表达式的每个数字与符号, 2、如果是数字,则进栈。如果是符原创 2014-03-15 23:13:46 · 624 阅读 · 0 评论 -
查找一
基础查找: 顺序查找,从头遍历到尾,或从尾到头。 序表查找: 折半查找: min = (low + hign) / 2 = low + (hign - low) / 2 插值查找: min = low + (hign - low) / ( (key - a[low]) / (a[hign] - a[low]) ) 仔细观察 折半 与 插值 公式区别只在于 除于2 和原创 2014-03-16 23:26:32 · 578 阅读 · 0 评论 -
最短路径--Floyd算法
Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点X到B。所以,我们假设Dis(AB)为节点A到节点B的最短路径的距离,对于每一个节点X,我们检查Dis(AX) + Dis(XB) < Dis(AB)是否成立,如果成立,证明从A到X再到B的路径比A直接到B的路径短,我们便设置Dis(AB) = Dis(AX) + Dis(X原创 2014-03-16 12:09:52 · 656 阅读 · 0 评论 -
排序一--基础排序
冒泡排序:具体算法描述如下: 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3、针对所有的元素重复以上的步骤,除了最后一个。 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 分类 排序算法 数据结构 数组 最差时间复杂度 О(原创 2014-03-27 08:33:19 · 447 阅读 · 0 评论 -
查找二--二叉排序树
一、二叉查找树的定义 1)左子树上所有结点的值均小于根结点的值; 2)右子树上所有结点的值均大于根结点的值; 3)它的左、右子树也都分别是二叉查找树。 查找原理 若二叉查找树为空,则查找不成功;否则 1)KEY值等于根结点,则查找成功; 2)KEY值小于根结点,则继续在左子树上进行查找; 3)KEY值大于根结点,则继续在右子树上进行查找。 插入操原创 2014-03-24 00:29:10 · 610 阅读 · 0 评论 -
排序二--堆排序
堆排序: 子结点的键值或索引总是小于(或者大于)它的父节点。 堆通过一维数组实现。在起始数组为 0 的情形中: 父节点i的左子节点在位置 (2*i+1); 父节点i的右子节点在位置 (2*i+2); 子节点i的父节点在位置 floor((i-1)/2); 堆中的最大值总是位于根节点。堆中定义以下几种操作: 1、最大堆调整(Max_Heapify):将堆的末端子节点作调整,使得子节原创 2014-03-27 18:26:30 · 496 阅读 · 0 评论