淡水求咸

博客园已经停止更新,请移步 http://lovecjh.com/

导航

2011年12月31日

C/C++版数据结构之排序算法

摘要: 今天讨论下数据结构中的排序算法。排序算法的相关知识:(1)排序的概念:所谓排序就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。(2)稳定的排序方法:在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的。相反,如果发生改变,这种排序方法不稳定。(3)排序算法的分类(分为5类):插入排序、选择排序、交换排序、归并排序和分配排序。(4)排序算法两个基本操作:<1>比较关键字的大小。 <2>改变指向记录的指针或移动记录本身。具体的排序方法:插入排序<1>插入排序(Insertion 阅读全文

posted @ 2011-12-31 20:20 深圳彦祖 阅读(2957) 评论(0) 推荐(1) 编辑

C/C++版数据结构之树<二>

摘要: 接着上节讲数据结构中的树,要理解树,最重要的是要理解:二叉排序树、平衡二叉树和红黑树。今天就来讨论这几种树。二叉排序树 概念:二叉排序树又叫二叉查找树、二叉搜索树、二叉检索树。二叉排序树是二叉树的一个特化,二叉排序树规定了每个结点的关键字均大于其左子树上所有的结点的关键字,同时小于或等于其右子树上所有结点的关键字。所以,从二叉排序树的根结点一直往左走,直到底,就可以得到最小值;从根结点一起往右走,直到底,就可以得到最大值。二叉排序树的这种特殊性质使得它在查找元素方面的时候特别方便,每一次查找都可以去掉一半的元素,因此查找的时间是O(logN)。二叉排序树的算法:(1)二叉排序树的查找算法typ 阅读全文

posted @ 2011-12-31 14:48 深圳彦祖 阅读(3043) 评论(0) 推荐(1) 编辑