Algorithm
文章平均质量分 69
jiuqlo
这个作者很懒,什么都没留下…
展开
-
PAT(Basic Level) Practise (中文)1005. 继续(3n+1)猜想 (25)
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称5、8、4、2是被原创 2016-11-16 09:05:04 · 241 阅读 · 0 评论 -
MergeSort归并排序递归、迭代、原地 c++实现
分治(Divide and Conquer)的思想,平均、最好、最坏,时间效率都是O(n log n)。 有递归和迭代两种实现方法。对于顺序存储如数组,一般为O(n)的空间;list的空间直接为O(1)。 空间上可以使用原地归并避免O(n)的空间。但较麻烦,且需要多次移动,除非有特殊说明或空间非常宝贵,否则不建议原地归并。原创 2017-09-11 15:58:44 · 1832 阅读 · 0 评论 -
HeapSort堆排序C++实现及相关背景知识
堆排序的平均时间复杂度为O(nlogn),空间复杂度为 Θ(1)。背景知识二叉树完全二叉树满二叉树平衡二叉树AVL树二叉搜索树Binary Search Tree堆Heap堆排序HeapSort算法流程Cpp实现原创 2017-09-11 22:12:11 · 367 阅读 · 0 评论 -
素数判断c++
首先要明确,素数的概念针对的是自然数。 1既不是素数,也不是合数。 2是素数。C++实现:bool isprime(int a){}前168个素数(所有小于1000的素数)素数在数学中还有许多神奇的性质原创 2017-09-12 21:18:46 · 2552 阅读 · 0 评论 -
排序基础算法总结与c++实现
选择排序:思想、cpp实现、主要优点、复杂度分析。插入排序:思想、cpp实现。快排:思想、cpp实现。堆排序:HeapSort堆排序C实现及相关背景知识。归并排序:MergeSort归并排序递归迭代原地 c实现。默认都是从小到大排序。有必要注释。原创 2017-09-19 15:25:15 · 641 阅读 · 0 评论