努力与回报 - Repost
学校测试中,解答容易的问题你会得1分,相对复杂的问题则会有5分,这看起来很公平。但这只测试了解决问题的技巧,而未能检验对问题的判断力。在现实中,解决问题的能力与选择正确问题去解决的判断力同样重要。很多时候,你能够从解决(被高估的)简单问题中获得更大的回报,而这其中的区别不是1块和5块的差异,而是百倍千倍的差异。
学校测试中,解答容易的问题你会得1分,相对复杂的问题则会有5分,这看起来很公平。但这只测试了解决问题的技巧,而未能检验对问题的判断力。在现实中,解决问题的能力与选择正确问题去解决的判断力同样重要。很多时候,你能够从解决(被高估的)简单问题中获得更大的回报,而这其中的区别不是1块和5块的差异,而是百倍千倍的差异。
原地 v.s. 非原地 (in-place v.s. out-place)
原地:快慢指针、左右指针、挖坑法
单独处理相等元素:三路快排
非递归实现
当序列有序时,时间复杂度将是N^2,所以此时我们选取 前中后 中值为中间的值和关键字的位置进行交换,那么我们再进行排序的序列的时间复杂度基本上被优化为N*logN。人为打乱排序
How should I explain dynamic programming to a 4-year-old? ref
1+1+1+1+1+1+1+1 = ?
1+1+1+1+1+1+1+1+1 = ?
Dynamic programming is just a fancy way to say ‘memoizing to save time later’.
If I read as many books as most men do, I would be as dull-witted as they are.
—— Thomas Hobbes
Algorithms + Data Structures = Programs
编程的核心是数据结构,而非算法,好的数据结构是好算法的基础。
选择合理的数据结构,并将一切组织有序,正确的算法也就显然了。
Intro to Data Structures and Algorithms - Udacity
Data Structures and Algorithms - Coursera
The Complete Guide to Google Interview Preparation
动态规划 https://www.bilibili.com/video/av29915579
https://the-algorithms.com/
汤浅的作品《春宵苦短,少女前进吧》很早之前就看过了,今天看了一个短篇解说,有感而发。
人工智能与虚拟现实,将在未来深刻改变人类生活方式的两种技术,一个要“理解”人类及环境、一个要“欺骗”人类。