摘要: 简介 图表示点之间的关系,在C#中通过节点对象的集合来表示点(Vertex),用邻接矩阵(adjacency matrix)来表示点之间的关系。下面来看C#实现。 PS:本片文章是我复习的笔记,代码注释很全。勿吐槽。表示点的对象 下面实现代码: class Vertex { public string Data; public bool IsVisited; public Vertex(string Vertexdata) { Data = Vertexdata; } } 每个节点包含... 阅读全文
posted @ 2013-09-26 10:54 Todd Zhang 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 写在前面:搞了SQL Server时间也不短了,对B树的概念也算是比较了解。去网上搜也搜不到用C#或java实现的B树,干脆自己写一个。实现B树的过程中也对很多细节有了更深的了解。简介 B树是一种为辅助存储设计的一种数据结构,在1970年由R.Bayer和E.mccreight提出。在文件系统和数据库中为了减少IO操作大量被应用。遗憾的是,他们并没有说明为什么取名为B树,但按照B树的性质来说B通常被解释为Balance。在国内通常有说是B-树,其实并不存在B-树,只是由英文B-Tree直译成了B-树。 一个典型的 B树如图1所示。 图1.一个典型的B树 符合如下特征的树才可以称为B树: 根节. 阅读全文
posted @ 2013-09-26 10:53 Todd Zhang 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 简介 树是一种非线性结构。树的本质是将一些节点由边连接起来,形成层级的结构。而二叉树是一种特殊的树,使得树每个子节点必须小于等于2.而二叉查找树又是一类特殊的二叉树。使得每一个节点的左节点或左子树的所有节点必须小于这个节点,右节点必须大于这个节点。从而方便高效搜索。 下面来看如何使用C#实现二叉查找树。实现节点 二叉查找树是节点的集合。因此首先要构建节点,如代码1所示。 //二叉查找树的节点定义 public class Node { //节点本身的数据 public int data; //左孩子 public Nod... 阅读全文
posted @ 2013-09-26 10:52 Todd Zhang 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 新技术一直在不断变化,掌握一些基础是未来学习不断更新的技术的坚实基础。近来闲来无事,为了温习一下从前学的数据结构,将数据结构中的排序算法用JS实现了一遍,并在本文末尾处嵌入了DEMO。简单排序冒泡排序 冒泡排序是最简单排序算法,时间复杂度为n的平方,代码如下: function bubbleSort(array) { for (var i = 0; i 0; j--) { if (array[j] "); /* 输出结果结束 */ } }直接插入排序 ... 阅读全文
posted @ 2013-09-26 10:50 Todd Zhang 阅读(297) 评论(0) 推荐(0) 编辑