算法基本功
ZeroOnet
一分学历、二分素质、三分文艺、四分沉思......
展开
-
斐波那契数列使用递归的运行时间分析
在这学期(大三上)去“蹭”了一次校招面试题,编程题中就有一道关于斐波那契数列的编程问题。如果不选择递归求解,需要说明原因。当时还没怎么接触算法这方面的知识(笔者非科班),关于什么运行时间分析、空间复杂度分析的就是一脸懵逼,于是就描述了下可能会引发栈溢出的问题。在慢慢学习了一些算法基础之后,才明白那道题想考的就是关于运行时间的分析!原创 2016-11-17 11:19:48 · 4812 阅读 · 0 评论 -
欧几里得算法时间复杂度简单分析
前言这个问题是在《数据结构与算法C++描述(第三版中文)》所遇到的,文中给出的迭代次数O(logN)的结果就像是教授所说的“显然”一样高深莫测,有点云里雾里的感觉!在“网罗”了一些资料后,在这里找到了自己想要的答案,笔者接下来就结合自己的理解列出文章中的求解过程。数学是科学的“皇后”在前言中提到那本书中也明确指出了欧几里得算法在实现过程理解上可能不是很难,但是想要得出其在平均情况下的性能需要大量的高原创 2016-11-28 20:27:41 · 16840 阅读 · 2 评论 -
归并排序
以下来自百度百科 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 基于比较式的排序算法(Comparison based sorting algori原创 2017-03-18 17:21:34 · 704 阅读 · 0 评论 -
统计`数组`元素出现的次数
#引子相信你注意到了标题中数组二字被标识了引号,也相信你肯定看到过相应的笔试题。题目中总是会出现集合或数组等字样,然后给出输入输出示例,最典型的输入示例是这样的: 1, 2, 3, 5, 6, 7, 88, 8, 3如果我们仔细审阅题目的话,会发现它的核心在于统计次数,那么就会察觉诸如集合之类的词可能是给我们埋下的坑,因为你需要根据测试数据的输入将它存储到对应的数据结构中。而这其中有需要判断有原创 2017-08-30 14:01:53 · 1620 阅读 · 0 评论 -
相反数问题
#引子或许你已经知道了问题的描述,不过这里在重复一遍,因为很羞赧的说:“这个问题,我栽了个大跟头!”(尽情嘲笑我吧!/(ㄒoㄒ)/~~)一个整数1234与它倒序数4321和称之为相反数。现在的问题要求是:从控制台输入一个整数n (1 ≤ n ≤ 10 ^ 5),输出它的相反数。如1234,就输出1234 + 4321 = 5555。#从容入坑既然待处理的值是一个整数,一个简单的想法是把输入的数用一个原创 2017-09-10 11:33:11 · 1999 阅读 · 0 评论 -
括号匹配
#引子得益于IDE的强大,我们的程序开发效率大幅提升。当我们涉及到函数的多重嵌套调用时(当然不建议这么写),如果只是手写的话,很可能就会多写或者漏写括号。在Xcode中,它会很友好的帮我们加上,而在这之前的一个处理就是括号匹配的判断。#实现当然,这里不会有如何在匹配失败后正确填补括号的程序实现,而能够给出的是一个简单的匹配判断的示例,程序会告诉你匹配的结果以及符号匹配的对数,如下:#include原创 2017-09-29 10:34:04 · 657 阅读 · 0 评论 -
Two Sum - LeetCode
#引子这是一个在LeetCode上面难度被标明为Easy的二元算法问题(即已知输入求输出),描述为: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would原创 2017-09-30 10:53:44 · 406 阅读 · 0 评论 -
翻转单向链表
#引子之前在哔哩哔哩复试时,面试官给我出了一道简单的数据结构题:翻转单链表。但是我在写代码之前询问了一下,结果是要求节点值改变还是整个链接顺序都要变。他说就简单改变值嘛!(估计问这个问题时被鄙视了)于是我就用了一个数组来存放遍历链表所得到值,然后反序赋值来解决问题。(很low,/(ㄒoㄒ)/~~)这篇文章就通过改变整个链接顺序来实现翻转单向链表做一个简单的分析与实现,也算是对这道题做出一个合适的解答原创 2017-10-18 17:46:29 · 528 阅读 · 0 评论 -
翻转二叉树
#引子#实现#总结原创 2017-09-22 11:30:09 · 667 阅读 · 0 评论