? ? ? ? ? ? ? ? ? ? ? 算法的总结
目录
? ? ? ? ? ? ? ? ? ? ? 算法的总结
数据结构和算法
? ? ? ? ? ? ? ? ? ? ? ? ? 算法的性质
--正确性。
--高效性。
一空间性。
一可读性。
算法:(一)递推算法_m0_62808636的博客-CSDN博客_rls算法
算法:(二)枚举(穷举)算法_m0_62808636的博客-CSDN博客
算法:(三)递归算法_m0_62808636的博客-CSDN博客
算法:递归算法拓展之经典问题_m0_62808636的博客-CSDN博客
算法:(四)分治算法_m0_62808636的博客-CSDN博客
算法:(五)贪婪算法_m0_62808636的博客-CSDN博客
算法:(六)试探算法_m0_62808636的博客-CSDN博客
算法:(七)模拟算法_m0_62808636的博客-CSDN博客
上面这些是我个人学习算法的心得希望与大家共勉。
这些算法算是一些小技巧,是算法冰山的一角,一些基础问题都能向这些方法靠拢,用这些方法去思考问题,解决问题,会让你编程更上一层楼。
接下来我将联合数据结构一起学习,因为没有数据结构的算法不是好算法
数据结构和算法
数据结构呢其实就是一种存储数据之间的逻辑结构:比如我们学过的线性结构:顺序表啦,链表啦;层次结构:树啦。合适的数据结构可以带来更高的运行效率和存储效率,与相应解决实际问题算法的适应性也就越高,这也就是为什么一些算法指定了数据存储必须以某种特定的数据结才行。一般都是根据合适的数据结构来设计算法,而不是根据算法来设计数据结构。 算法和数据结构往往是互不分开的。离开了算法,数据结构就显得毫无意义,而没有了数据结构算法就没有实现的条件。良好的数据结构思想就是一种高效的算法,但是数据结构不等于算法。只有当数据结构用于处理某个特定问题类型的时候,数据结构才会体现为算法。
? ? ? ? ? ? ? ? ? ? ? ? ? 算法的性质
--正确性。
能正确地实现预定的功能,满足具体问题的需要。处理数据使用的算法是否得当,能不能得到预想的结果。
--高效性。
好的能快速输出结果。
通常认为,通过统计算法中基本操作重复执行的次数就可近似地得到算法的执行效率,用O(n)表示,称为时间复杂度。
一空间性。
算法的时空性是该算法的时间性能和空间性能。主要是说算法在执行过程中的时间长短和空间占用多少问题。
一可读性。
易于阅读、理解和交流,便于调试、修改和扩充。写出的算法,能不能让别人看明白,能不能让别人明白算法的逻辑?如果通俗易懂,在系统调试和修改或者功能扩充的时候,使系统维护更为便捷。
|