一、介绍 在互联网公司笔试题中,总有那么一两道题是考查是否会求算法的时间复杂度,在此列出一些例题进行研究和探讨。 二、例题 题目解析: 时间复杂度主要取决于N的最高次幂数,即最大的影响因子,所以答案是 C。 题目解析: 算法的复杂度主要包括时间复杂度和空间复杂度。 算法的时间复杂度是指执行算法所需要 ...
分类:
其他好文 时间:
2018-03-30 14:14:26
阅读次数:
135
一、问题描述 判断一个integer 型的数字是否是回文,空间复杂度应该是常数级别的 。 二、问题分析 首先,负数不是回文,10的整数倍不会是回文,个位数一定是回文。 三、代码实现 思路:将一个数字翻转,即最高位变成最低位,最低位变成最高位,然后比较输入的字符和翻转之后的字符。 ...
分类:
其他好文 时间:
2018-03-25 22:19:25
阅读次数:
177
1.插入法 2.动态规划(可继续优化空间复杂度) ...
分类:
编程语言 时间:
2018-03-25 22:16:22
阅读次数:
210
昨晚一朋友给我发了一个关于算法速查表的文章链接,我觉得作者总结的很好,所以我只将里面的英文转为了中文,剩下的没变。 声明:文章内容非本人原创,原文链接 程序员所有的算法速查表。 数据结构操作 数组排序算法 图操作 堆操作 ...
分类:
编程语言 时间:
2018-03-25 13:14:54
阅读次数:
212
HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度很小, ...
分类:
其他好文 时间:
2018-03-23 14:11:05
阅读次数:
185
1. P29:“效能分析工具,效能分析,Performance!这是每一个程序员都梦想的事儿.......”,有这个问题:如何去判断一个程序的优劣?要从哪些方面去分析,会涉及到效能分析的哪些方面? 效能的分析一定要注意一个程序的时间复杂度和空间复杂度,两者结合,共同分析,除此之外还需注意一个程序的运 ...
分类:
其他好文 时间:
2018-03-21 18:28:10
阅读次数:
176
——《编程珠玑》读后感 因为时间原因,现在只读了书的前四章以及关于代码优化的第九章,虽然感觉因为语言文化的差异或者翻译的问题,行文感觉十分别扭,但是仍是收益良多。 开篇提出的问题的解决方式令人印象深刻,巧妙地利用位图的方式解决了一个电话号码的排序问题,并且大大降低了时间与空间复杂度。其实引人深思的不 ...
分类:
其他好文 时间:
2018-03-18 17:13:43
阅读次数:
164
Floyd算法: 用邻接矩阵保存原图,时间复杂度O(N^3),空间复杂度O(N^2),N为图中节点个数。 一般情况下,被要求解图的大小不超过200个结点,当图使用邻接矩阵表示时更为方便,否则要注意转换。 因为算法完成后,图中所有结点间的最短路径都将被确定,所以其较适用于全源最短路径长度问题。 例5. ...
分类:
其他好文 时间:
2018-03-17 19:47:12
阅读次数:
190
自己是真的笨 整整用了10个小时才吃透这个BF的两种优化 题目如下: 很简单的题,就是测试数据n居然有20000; 那么需要考虑的问题就有两个了,一是时间复杂度,二是空间复杂度 一开始上手我用的是floyd 代码如下: #include <iostream> #define max 2001 #de ...
分类:
其他好文 时间:
2018-03-17 16:14:09
阅读次数:
220
Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary tree [1,null,2,3], return [1,3,2]. Note: Recursive so ...
分类:
编程语言 时间:
2018-03-15 21:07:04
阅读次数:
238