
数据结构和算法学习
koself
这个作者很懒,什么都没留下…
展开
-
冒泡算法
冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),原创 2012-08-08 11:10:43 · 487 阅读 · 0 评论 -
散列
散列的基本概念散列方法的主要思想是根据结点的关键码值来确定其存储地址:以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存入到此存储单元中。检索时,用同样的方法计算地址,然后到相应的单元里去取要找的结点。通过散列方法可以对结点进行快速检索。散列(hash,也称“哈希”)是一种重要的存储方式,也是一种常见的检索方法。转载 2012-08-15 15:45:54 · 15788 阅读 · 1 评论 -
浅谈散列
浅谈散列 通俗的说,程序是能够完成既定目标的具有特定逻辑组织形式的指令集序列。既然有现实的需求,那么我们知道外界环境必然会给予程序某些特定形式的“输入”,然而在机器的内部,这种“输入”将转换为数据的形式,继而这就要求我们为用以描述现实世界需求的数据建立一个结构化的模型,使其能够被机器指令高效的处理。通常,对于数据的处理无外乎以下几种:读取/更新/删除数据项,或者插入新项,其中转载 2012-08-15 15:47:26 · 8441 阅读 · 2 评论 -
栈及实现
栈:数据项的列表,只能从表的末端进行存取访问,可存取访问的端称为栈顶。栈的标准模型是自助餐厅的盘子堆,始终从顶部拿走盘子。工作人员也把盘子放回盘子堆。栈是著名的后进先出(LIFO)数据结构 栈最基本的两种操作就是向站内添加数据和删除数据。进栈(PUSH),出栈(POP)即取数也会删除数据。 自定义栈的最基本操作,c#编写,参考自数据结构与算法 c# 描述书籍原创 2012-08-13 13:52:20 · 586 阅读 · 0 评论 -
队列及简单实现
队列是一种把数据从表的末端放入并在表的前端移除的数据结构,会按照数据项出现的顺序来存储它们,它是先进先出(FIFO)数据结构。队列用来对提交给操作系统或打印池的任务进行排序。c# 简单实现 参考自 数据结构与算法 c# 版 class CQueue { private ArrayList queue; public CQueue()原创 2012-08-13 14:35:46 · 514 阅读 · 0 评论 -
直接插入排序算法
直接插入算法: 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序算法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数数组分成两部分:第一部分包含了这原创 2012-08-09 13:55:32 · 904 阅读 · 0 评论 -
一维数组倒序
将数组倒序,即{1,2,3,4,5} 转成{5,4,3,2,1},两种方法1、//两两交换的方法 第一次循环,第二个和第一个交换,第二循环,第三个和第二个交换,然后第二个再和第一个交换,依次进行。 array[] = {1,2,3,4,5}; for (int j = 0; j < array.Length; j++) {原创 2012-08-09 10:38:31 · 2656 阅读 · 0 评论 -
基础查找算法
根据给定的数值在一个列表中进行查找,有两种基本方法:顺序查找和二叉查找。1、当数据项在列表内随机排列的时候可以用顺序查找,2、而当数据项在列表内有许排列时用二叉查找(一、1、顺序查找 最简单的方式:从列表的开始处顺序遍历每条数据,直到找到所需要的数据或到了末尾,即顺序查找 实现方式比较简单: b原创 2012-08-08 16:29:53 · 591 阅读 · 0 评论 -
选择排序算法
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。 //选择排序算法 对数arr使用选择排序算法排序,有两种方式第一种是,首先假设第一个元素为最小,然后拿第一个与第二个相比,如果第二个小,那么就交换值,保持第一个为最小,一直比较到最后一个元素,然后再从第二个开始上一个步骤。原创 2012-08-08 11:14:08 · 596 阅读 · 0 评论 -
图解数据结构(6)——树及树的遍历
转载地址 http://www.cnblogs.com/yc_sunniwell/archive/2010/06/27/1766233.html图解数据结构(6)——树及树的遍历八、树(Tree)树,顾名思义,长得像一棵树,不过通常我们画成一棵倒过来的树,根在上,叶在下。不说那么多了,图一看就懂:当然了,引入了树之后,就不得不引入树的一些概念,这些概念我照样尽量用图,谁转载 2012-10-15 20:24:17 · 924 阅读 · 0 评论