随笔分类 -  算法&数据结构

摘要:什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。说白了哈希表的原理其实就是通过空间换取时间的做法。。 哈希表的做法其实很简单,就是把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。 而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,并定位到该... 阅读全文
posted @ 2013-04-19 16:56 一枚程序员 阅读(5338) 评论(1) 推荐(1) 编辑
摘要:常见内排序算法:选择合适的排序方法应综合考虑以下因素:1、待排序的记录数目n2、记录的大小(规模)3、关键字的结构及其初始状态4、对稳定性的要求5、语言工具的条件6、存储结构7、时间和辅助空间的复杂度等不同条件下,排序算法的选择:1、若n较小(n<50)可采用直插法和简单选择法2、若文件初始状态基本有序(正序),则应选用直插法、冒泡或随机的快速排序为宜3、若n较大、则应采用时间复杂度为o(nlgn)的排序方法:堆排序、归并排序、快速排序 快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布的,快速排序的平均时间最短 堆排序需要的辅助空间少于快速排序,并且不会出 阅读全文
posted @ 2012-09-13 20:15 一枚程序员 阅读(450) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示