湾区人工智能

会四国语言的海归,公众号:《湾区人工智能》

数据结构和算法分析英语生词整理

***********九章算法第二章:二分法和lgn算法   二分法(binary search)  时间复杂度 Time Complexity  递归 Recursion ***********九章算法第三章:双指针法 快速选择算法 Quick Select 栈溢出Stack Ov...

2018-11-07 19:16:08

阅读数 66

评论数 0

有向无环图DAG 拓扑排序 代码解释

目录:   DAG定义 举例描述 实际运用 算法描述 算法实战 算法可视化   定义   在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序(英语:Topological sorting)。 每个顶点出现且只出现一次; 若A在序列中排...

2018-10-20 13:30:56

阅读数 310

评论数 0

四种二分法的区别:

二分法有几种变形:   585  山脉序列中的最大值 first position of target 457 Classical Binary Search 458 Last Position of Target   他们的区别在于:   mountainSequence 二分...

2018-10-16 12:30:55

阅读数 333

评论数 0

二叉树中进行 BFS 和图中进行 BFS 最大的区别

二叉树中进行 BFS 和图中进行 BFS 最大的区别   就是二叉树中无需使用 HashSet(C++: unordered_map, Python: dict) 来存储访问过的节点(丢进过 queue 里的节点) 因为二叉树这种数据结构,上下层关系分明,没有环(circle),所以不可能出现...

2018-10-08 18:40:07

阅读数 69

评论数 0

使用宽度优先搜索的常见场景

图的遍历 Traversal in Graph 图的遍历,比如给出无向连通图(Undirected Connected Graph)中的一个点,找到这个图里的所有点。这就是一个常见的场景。 LintCode 上的 Clone Graph 就是一个典型的练习题。 更细一点的划分的话,这一类的问题...

2018-10-08 18:22:31

阅读数 122

评论数 0

什么是 Stack Overflow,什么情况下会造成 Stack Overflow

转载于 https://www.jiuzhang.com/tutorial/algorithm/444 什么是递归深度 递归深度就是递归函数在内存中,同时存在的最大次数。 例如下面这段求阶乘的代码: int factorial(int n) { if (n == 1) { ...

2018-10-07 15:36:51

阅读数 885

评论数 0

快速幂算法

快速幂算法 基本原理 计算x的n次方, 即计算x^nxn。 由公式可知: x^n = x^{n/2} * x^{n/2}xn=xn/2∗xn/2。 如果我们求得x^{n/2}xn/2, 则可以O(1)求出x^nxn, 而不需要再去循环剩下的n/2n/2次。 以此类推,若求得x^{n/4}...

2018-10-05 18:56:44

阅读数 67

评论数 0

最长回文子串——Manacher 算法​​​​​​​

0. 问题定义 最长回文子串问题:给定一个字符串,求它的最长回文子串长度。 如果一个字符串正着读和反着读是一样的,那它就是回文串。下面是一些回文串的实例: 12321 a aba abba aaaa tattarrattat(牛津英语词典中最长的回文单词) 1. Brute-force ...

2018-10-05 14:36:38

阅读数 50

评论数 0

lintcode刷题 14. 二分查找,迭代和二分法Python实现

14. 二分查找 描述 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 您在真实的面试中是否遇到过这个题?  是 题目纠错 样例 在数组 [1, 2, 3, ...

2018-10-05 13:48:40

阅读数 120

评论数 0

什么是函数式编程思维?

我为什么要把我的知乎回答搬到这里呢……大概是太久没发东西了来凑数吧。 作者:nameoverflow 链接:https://www.zhihu.com/question/28292740/answer/100284611 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载...

2018-10-03 20:57:15

阅读数 80

评论数 0

看视频课程的正确方法

正确打开九章算法课程的方式 课前预习 上课之前浏览一遍当前课程的内容。 a. 如果是算法班,最好是自己思考一下每道题的解法,如果时间不够,可以浏览一下每个题目的题意。这样非常有助于上课理解。 b. 如果是系统班,最好自己看看每个题目大意,想想自己要怎么设计。 上课做笔记 上课时,准备一个本...

2018-10-03 20:31:06

阅读数 201

评论数 0

快速排序多种方法代码Python

''' 六、快速排序 QuickSort 介绍: 快速排序通常明显比同为Ο(n log n)的其他算法更快,因此常被采用,而且快排采用了分治法的思想,所以在很多笔试面试中能经常看到快排的影子。 可见掌握快排的重要性。 步骤: 1.从数列中挑出一个元素作为基准数。 2.分区过程,将比基准数大...

2018-07-28 15:37:06

阅读数 258

评论数 0

各种常用排序算法的时间复杂度和空间复杂度

https://blog.csdn.net/jiajing_guo/article/details/69388331 一、常用排序算法的时间复杂度和空间复杂度表格     二、特点   1.归并排序:   (1)n大时好,归并比较占用内存,内存随n的增大而增大,但却是效率高且...

2018-07-28 09:29:26

阅读数 170

评论数 0

十大编程算法助程序员走上高手之路

https://www.runoob.com/w3cnote/the-friendship-algorithm-the-big-bang-theory.html算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则...

2018-06-20 18:50:49

阅读数 101

评论数 0

Python实现各种进制转换问题,so easy

Python实现进制转换问题,so easy ********************十进制转其他进制************************************* #系统默认a,b值都是十进制 a = 6 b = 10 print('decimal of a and b are:',...

2018-06-06 13:39:21

阅读数 106

评论数 0

Python实现经典七种排序算法

#2018-06-02 June Saturday the 22 week, the 153 day SZ #数组排序算法大全用Python3实现 #参考https://www.cnblogs.com/zhizhan/p/4549099.html ''' 算法1:冒泡法:让两数比较大的值一直滚动...

2018-06-02 15:13:14

阅读数 107

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭