摘要:
from:http://blog.csdn.net/Shunrei/archive/2010/06/19/5680579.aspx 递归算法实际上是一种分而治之的方法,它把复杂问题分解为简单问题来求解。对于某些复杂问题(例如hanio塔问题),递归算法是一种自然且合乎逻辑的解决问题的方式,但是递归算法的执行效率通常比较差。因此,在求解某些问题时,常采用递归算法来分析问题,用非递归算法来求解问题;另外,有些程序设计语言不支持递归,这就需要把递归算法转换为非递归算法。将递归算法转换为非递归算法有两种方法,一种是直接求值(迭代/循环),不需要回溯;另一种是不能直接求值,需要回溯。前者使用一些变量保存 阅读全文
摘要:
from:http://tcmrabbit.iteye.com/blog/464541这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai 阅读全文
摘要:
from:http://free56.cn/post/22.html名称复杂度说明备注冒泡排序BubbleSortO(N*N)将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮插入排序Insertion sortO(N*N)逐一取出元素,在已经排序的元素序列中从后向前扫描,放到适当的位置起初,已经排序的元素序列为空选择排序O(N*N)首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此递归。快速排序Quick SortO(n *log2(n))先选择中间值,然后把比它小的放在左边,大的放在右边(具体 阅读全文
摘要:
from:http://esyscn.com/thread-73353-1-1.html关于switch的参数类型switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。因此传递给switch和case语句的参数应该是int、short、char或者byte。 long,string都不能作用于swtich。 阅读全文
摘要:
from:http://www.cppreference.com/wiki//language/operator_precedence?redirect=1C++ Operator PrecedenceThe operators at the top of this list are evaluated first. Operators within a group have the same precedence. All operators have left-to-right associativity unless otherwise noted.PrecedenceOperatorD 阅读全文
摘要:
from:神秘果http://www.shenmiguo.com/archives/2009/275_cplus-type-cast.htmlC风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。看似问题复杂化了,其实不然。C风格的类型转换在程序语句中难以识别,类型转换是去const,还是int转换成char,或是子类指针转换成父类指针?C括号风格的强制类型转换解决不了这些问题。C++的4种类型转换能够解决这些问题:const_cast,字面上理解就是去const属性。st 阅读全文