算法
文章平均质量分 75
Vankyle
爱好运动,喜欢编程
展开
-
冒泡排序
冒泡排序是邻居的两个数据逐一进行对比交换,如此类推。最小移动次数为0,最大对比次数为n-1,如:最大的的数字就是第一位,则获取最大值时,在对其它数字进行对比时,是不用进行任何数字位置的移动,而需要对所有的其它数字进行对比一次,才可以确定当前这个是否最大值。如此可见,序最好的时间复杂度为 ,最坏时间复杂度为 ,因此冒泡排序总的平均时间复杂度为 。实体封装原创 2016-11-05 13:39:55 · 321 阅读 · 0 评论 -
选择排序
选择排序是冒泡排序的延伸,冒泡排序每次相邻的两个数进行对比,对比出最大(最小)值都需要移动交换数据,而选择排序是当前的数据与它后面的所以数据进行对比,对比的结果后进行交换下标,到最后才进行数据交换。最好的时间复杂度为 ,最坏时间复杂度为 ,因此冒泡排序总的平均时间复杂度为 。实体定义 public class User {原创 2016-11-05 16:36:52 · 241 阅读 · 0 评论 -
哈希算法
哈希算法是通常我们所说的散列算法,把把任意长度的输入的数据变换成固定长度的输出(Key),通过散列值建立数据内容和数据存放地址之间的映射关系。在C#中哈希表有Hashtable,Dictionary,它们都是继承自Map。其中Hashtable的key无序,Dictionary是按照顺序存储的。共有的特点是查找速度快、不能有重复的key。在构建哈希需要解决解决哈希冲突,查找是直接通过Key进行寻址原创 2016-11-19 12:31:15 · 354 阅读 · 0 评论