摘要: C#中实现了哈希表数据结构的集合类有: (1)System.Collections.Hashtable (2)System.Collections.Generic.Dictionary 前者为一般类型的哈希表,后者是泛型版本的哈希表。Dictionary和Hashtable之间并非只是简单的泛型和非泛型的区别,两者使用了完全不同的哈希冲突解决办法。 本文使用Silverlight制作了Hashtable的动态演示程序 阅读全文
posted @ 2009-06-23 23:06 abatei 阅读(18216) 评论(16) 推荐(8) 编辑
摘要: 《数据结构(C#语言描述)》的目录,及配套视频中的一集 阅读全文
posted @ 2009-04-22 22:02 abatei 阅读(5079) 评论(5) 推荐(0) 编辑
摘要: 本文详细地介绍了红黑树的原理及代码实现,并使用Silverlight制作了红黑树的模拟动画,使大家更方便地理解红黑树。最后将它和AVL树进行了简单的对比及测试。 阅读全文
posted @ 2008-12-17 11:02 abatei 阅读(21942) 评论(47) 推荐(6) 编辑
摘要: 使用Silverlight制作的拼图游戏,并演示了初级的Silverlight自定义控件制作及使用 阅读全文
posted @ 2008-11-22 13:46 abatei 阅读(3767) 评论(7) 推荐(1) 编辑
摘要: 我们知道在二叉查找树中,如果插入元素的顺序接近有序,那么二叉查找树将退化为链表,从而导致二叉查找树的查找效率大为降低。如何使得二叉查找树无论在什么样情况下都能使它的形态最大限度地接近满二叉树以保证它的查找效率呢? 前苏联科学家G.M. Adelson-Velskii 和 E.M. Landis给出了答案。他们在1962年发表的一篇名为 《An algorithm for the organization of information》的文章中提出了一种自平衡二叉查找树(self-balancing binary search tree)。这种二叉查找树在插入和删除操作中,可以通过一系列的旋转操作来保持平衡,从而保证了二叉查找树的查找效率。最终这种二叉查找树以他们的名字命名为“AVL-Tree”,它也被称为平衡二叉树(Balanced Binary Tree)。这里所说的平衡使我们想到了中庸之道,但有句话说得好,“中不偏,庸不易”。学会这种平衡术是一个相当痛苦的过程。 阅读全文
posted @ 2008-11-17 12:35 abatei 阅读(32459) 评论(30) 推荐(6) 编辑
摘要: 之前在这篇《二叉树的遍历》文章中曾有网友留言说递归算法效率太低。 http://www.cnblogs.com/abatei/archive/2008/05/23/1205707.html 所以制作一个视频专门讲解二叉树遍历的非递归算法。这不是技术文章,但视频比文章容易让人理解得多。 视频一共介绍了五个算法:先序遍历非递归算法;中序遍历非递归算法;三种后序遍历非递归算法。 大小25M,时长67分钟 阅读全文
posted @ 2008-11-08 23:06 abatei 阅读(2970) 评论(1) 推荐(0) 编辑
摘要: 这是一本可以只需花较少的时间、就能理解数据结构的书籍。 也是第一本国内公开出版的用C#语言描述数据结构的书籍 阅读全文
posted @ 2008-10-12 23:33 abatei 阅读(7060) 评论(38) 推荐(5) 编辑
摘要: 本文使用C#实现了图的存储结构,及图的深度优先遍历和广度优先遍历等操作 阅读全文
posted @ 2008-06-06 13:40 abatei 阅读(27831) 评论(20) 推荐(11) 编辑
摘要: 讲述C#与数据结构中的深度优先遍历和宽度优先遍历 方便的话,希望可以提出意见 阅读全文
posted @ 2008-05-23 13:30 abatei 阅读(25912) 评论(22) 推荐(7) 编辑
摘要: 由于有读者对《C#程序设计基础教程与实训》214页的那个例子无法理解,所以专门写一篇文章对位标志进行讲解,希望可以对初学者有一些帮助。要理解这篇文章,首先要知道什么是位运算,什么是二进制,这些是计算机一级的内容,我不打算在这里讲解。如果有不懂的请上网用Google了解或查找相关书籍了解,写这篇文章的目的在于让你知道为什么要使用位运算,使用它会带来什么好处。我们首先从一个问题着手:如果你正在编写一个... 阅读全文
posted @ 2008-05-03 16:19 abatei 阅读(2784) 评论(4) 推荐(1) 编辑