数据结构与算法
文章平均质量分 83
poet
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】动态查找--二叉排序树
基本概念:二叉排序树也称做二叉查找树。二叉排序树或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树非空,则左子树上所有结点的数据元素值均小于根结点的数据元素值; (2)若右子树非空,则右子树上所有结点的数据元素值均大于或等于根结点的数据元素值; (3)左右子树也均为二叉排序树下图为一棵二叉排序树二叉排序树的删除算法 : 删原创 2012-12-02 19:49:45 · 1140 阅读 · 0 评论 -
【数据结构与算法】图之最小生成树
最小生成树的基本概念 一个有n个结点的连通图的生成树是原图的极小连通子图,它包含原图中的所有n个结点,并且有保持图连通的最少的边。 如果无向连通图是一个带权图,那么它的所有生成树中必有一棵边的权值总和最小的生成树,我们称这棵生成树为最小代价生成树,简称最小生成树。无向图和它的不同的生成树 从最小生成树的定义可知,构造有n个结点的无向连通带权图的原创 2012-12-19 00:13:10 · 5325 阅读 · 0 评论 -
【数据结构与算法】图的遍历
图的深度和广度优先遍历算法 图的遍历算法设计需要考虑三个问题: (1)图的特点是没有首尾之分,所以算法的参数要指定访问的第一个结点; (2)对图的遍历路径有可能构成一个回路,从而造成死循环,所以算法设计要考虑遍历路径可能出现的死循环问题; (3)一个结点可能和若干个结点都是邻接结点,要使一个结点的所有邻接结点按照某种次序被访问。1 图的深度优先遍历算法原创 2012-12-18 21:10:14 · 3263 阅读 · 0 评论 -
【数据结构与算法】矩阵
矩阵是工程设计中经常使用的数学工具。 矩阵用两维数组处理最为方便。 二维数组存储结构package cn.matrix;/** * *矩阵类 */public class Matrix{ //成员变量,矩阵元素 private MyVector values; //成员变量,矩阵行数 private int h; //成员变量,矩阵列数 p原创 2012-12-14 22:20:15 · 782 阅读 · 0 评论 -
【数据结构与算法】队列
顺序循环队列:package cn.ls.queue;public interface Queue { public void append(Object obj) throws Exception; public Object delete() throws Exception; public Object getFront() throws Exception; pu原创 2012-12-09 12:46:00 · 470 阅读 · 0 评论 -
【数据结构与算法】堆栈
顺序堆栈:package cn.ls.stack;/** * *自定义接口. */public interface Stack { //入栈 public void push(Object obj) throws Exception; //出栈 public Object pop() throws Exception; //栈顶元素 public Object getT原创 2012-12-07 23:47:09 · 500 阅读 · 0 评论 -
【数据结构与算法】线性表之顺序表
package cn.ls.seqlist;/** * *自定义接口 */public interface List { public void insert(int i, Object obj) throws Exception; public Object delete(int i) throws Exception; public Object getData(int原创 2012-12-07 20:04:19 · 863 阅读 · 1 评论 -
【数据结构与算法】约瑟夫环问题
约瑟夫环问题:约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。基本要求:用不带头结点的单循环连表作为数据元素的存储结结点个数:8。即8个结点的编号1,2,3,4,5,6,7,8随机报数值m原创 2012-12-06 18:58:54 · 1055 阅读 · 0 评论 -
【数据结构与算法】排序
1选择排序:常用的选择排序有直接选择排序和堆排序两种。堆排序是一种基于完全二叉树的排序。package cn.ls.sort;/** * *选择排序之直接选择排序。 */public class MySelectSort { public static void main(String[] args) { int[] array = {64, 7, 5, 89, 6, 2原创 2012-12-05 22:28:23 · 549 阅读 · 0 评论 -
【数据结构与算法】哈希表
哈希表主要是构造一个映射函数,该函数以数据元素为自变量,函数值即为数据元素在内存中的存储位置。通常把这样的映射函数称为哈希函数h(x)。因此可以说,哈希表是通过哈希函数h(x)来确定数据元素x存放位置h(x)的一种特殊存储结构。11.1.1哈希表的基本构造方法 构造哈希表的方法是:设要存储的数据元素个数为 n,设置一个长度为m(m≥n)的连续内存单元(即数组),分别原创 2012-12-04 18:50:45 · 7374 阅读 · 0 评论 -
【数据结构与算法】图之最短路径
8.6.1 最短路径的基本概念 在一个图中,若从一个结点到另一个结点存在着路径,定义路径长度为一条路径上所经过的边的数目。图中从一个结点到另一个结点可能存在着多条路径,我们把路径长度最短的那条路径叫做最短路径,其路径长度叫做最短路径长度或最短距离.在一个带权图中,若从一个结点到另一个结点存在着一条路径,则称该路径上所经过边的权值之和为该路径上的带权路径长度。带权图中原创 2012-12-19 22:33:53 · 5931 阅读 · 1 评论