原文:C#数据结构与算法揭秘15

这节,我们主要讨论,一下克鲁斯卡尔算法实现 最小生成树。 克鲁斯卡尔算法的基本思想是:对一个有 n个顶点的无向连通网,将图中的边按权值大小依次选取,若选取的边使生成树不形成回路,则把它加入到树中 若形成回路,则将它舍 弃。如此进行下去,直到树中包含有 n 条边为止。 以下图 a 为例说明用克鲁斯卡尔算法求无向连通网最小生成树的过程。 第一步:首先比较网中所有边的权值,找到最小的权值的边 D,E , ...

2012-11-13 20:43 4 2328 推荐指数:

查看详情

C#数据结构算法揭秘

这里,我们 来说一说C#数据结构了。 ①什么是数据结构数据结构,字面意思就是研究数据的方法,就是研究数据如何在程序中组织的一种方法。数据结构就是相互之间存在一种或多种特定关系的数据元素的集合。 程序界有一点很经典的话,程序设计=数据结构+算法。用源代码来体现,数据结构,就是编程。他有哪些具体 ...

Tue Oct 30 00:30:00 CST 2012 19 8373
C#数据结构算法揭秘

上文对数据结构算法,有了一个简单的概述与介绍,这篇文章,我们介绍一中典型数据结构——线性结构。 什么是线性结构,线性结构是最简单、最基本、最常用的数据结构。线性表是线性结构的抽象(Abstract), 线性结构的特点是结构中的数据元素之间存在一对一的线性关系。 这 种一对一的关系指的是数据 ...

Tue Oct 30 05:26:00 CST 2012 6 4304
C#数据结构算法揭秘

这节,我们说一说二叉树常见的应用的场景。呵呵。。。。。。。。。。。。。。 定义一个哈夫曼树,首先,要高清楚什么是哈夫曼树。所谓哈夫曼树是又叫最优二叉树,指的是对于一组具有确定权值的叶子结点的具有最小 ...

Mon Nov 05 19:32:00 CST 2012 9 2655
C#数据结构算法揭秘

上文我们讨论了一种最简单的线性结构——顺序表,这节我们要讨论另一种线性结构——链表。 什么是链表了,不要求逻辑上相邻的数据元素在物理存储位置上也相邻存储的线性结构称之为链表。举个现实中的例子吧,假如一个公司召开了视频会议的吧,能在北京总公司人看到上海分公司的人,他们就好比是逻辑上相邻的数据元素 ...

Wed Oct 31 05:20:00 CST 2012 7 3408
C#数据结构算法揭秘

就是双向链表(Doubly Linked List)。双向链表的结点结构示意图如图所示。 双向链表结 ...

Wed Oct 31 20:56:00 CST 2012 10 2830
C#数据结构算法揭秘

这节重点讨论 树的结构的源代码实现。 先做一铺垫,讨论一下二叉树的存储结构。二叉树的存储结构分为线性存储和链式存储等等。 1、二叉树的顺序存储结构 对于一棵完全二叉树,由性质 5可计算得到任意结点 i 的双亲结点序号、左孩子结点序号和右孩子结点序号。所以,完全二叉树的结点可按从上到下和从左到右 ...

Sun Nov 04 20:11:00 CST 2012 4 2827
C#数据结构算法揭秘

这节我们讨论了两种好玩的数据结构,栈和队列。 老样子,什么是栈, 所谓的栈是栈(Stack)是操作限定在表的尾端进行的线性表。表尾由于要进行插入、删除等操作,所以,它具有特殊的含义,把表尾称为栈顶(Top) ,另一端是固定的,叫栈底(Bottom) 。当栈中没有数据元素时叫空栈(Empty ...

Thu Nov 01 22:22:00 CST 2012 8 3316
C#数据结构算法揭秘

这节我们讨论两种用的蛮多的数据结构——串和数组 首先,老样子,什么是串,这里串不是吃的牛肉串,羊肉串,而是字符串。在应用程序中使用最频繁的类型是字符串。字符串简称串,是一种特殊的线性表,其特殊性在于串中的数据元素是一个个的字符。字符串在计算机的许多方面应用很广。如在汇编和高级语言的编译程序中 ...

Sat Nov 03 03:49:00 CST 2012 2 2584
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM