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

系统的学习下数据结构与算法,目标是对成熟的数据结构和算法,达到烂熟于心的境界,加油。-2013.12.15
摘要:概述:由于排序非常重要而且可能非常耗时,所以它已经成为一个计算机科学中广泛研究的课题,而且人们的确已经研究出一些非常成熟的方法。在这篇博文中将看到三个简单排序的算法:冒泡,选择,插入排序,还有另外两种高级排序算法,希尔和快速排序。插入排序比较重要,它比冒泡和选择排序有时更有效率,而且对于小规模和基本有序的文件,插入排序算法能比快速排序算法更为有效。这边博文中阐述三种简单排序算法,下一篇博文中阐述高级排序算法。从三个角度来阐述算法:代码,执行效率(大O表示法)以及不变性。不变性:在许多算法中,有些条件在算法执行时是不变的,这些条件被称为不变性。认识不变性对理解算法是有用的。在一定的情况下它们对调 阅读全文
posted @ 2013-12-15 13:00 Andy Zhai 阅读(2549) 评论(0) 推荐(0)
摘要:在学习二叉树时看到关于哈夫曼编码的一些描述,兴趣来潮,自己写一个算法。哈夫曼算法使用二叉树以令人惊讶的方式来压缩数据,以提高数据传输的效率和时间。只有知道哈夫曼编码而不会写代码的童鞋们才会在网上搜代码,故在这里对哈夫曼编码不做过多介绍。 实现哈弗曼(Huffman)算法的编码(Encode)与解码(Encode). 分为以下四步来完成这项编码 1.Create a Huffman tree for this message. 2.Create a code table. 3.Encode the message into binary. 4.Decode the message fr... 阅读全文
posted @ 2013-10-17 14:39 Andy Zhai 阅读(2094) 评论(0) 推荐(0)