GeekBand-极客班-C++算法原理与实践-董飞-课程笔记(一)

GeekBand-极客班-C++算法原理与实践-董飞-课程笔记(一)

算法入门和编程风格

从一道入门题谈起

/*StrStr
Returns the position of the first occurrence of string get in string source, or -1 if target is not part not of source.
*/

另一篇博客:http://blog.csdn.net/lionpku/article/details/46713877

StrStr常见问题1

有个问题叫做KMP

StrStr常见问题2

编程习惯、代码风格差

StrStr常见问题3

数组越界

StrStr常见问题4

for( i=0; i

length( ):算法复杂度O(1)

for( i = 0; i < strlen(source) - strlen(target); i++ )

strlen( ):算法复杂度O(n)

面试中常见的误区

  • 做过的题(或者简单的题)肯定能过
  • 算法想出来了就能过
  • 代码写出来了就能过

面试官眼中的求职者

  • 你可能是他未来的同事
  • 你的代码看起来舒服吗?
    • TA需要多少时间Review你的代码
  • 你的Coding习惯好么?
    • TA不会在未来疲于帮你DEBUG,你不会经常就搞出事故
  • 你的沟通能力好么?
    • TA和你交流费劲么

面试考察的编程基本功

  • 程序风格(缩进,括号,变量名)
  • Coding习惯(异常检查,边界处理)
  • 沟通(让面试官时刻明白你的意图)
  • 测试(主动写出合理的Testcase)

你真的会面试么?

  • 你做题之前,先在白纸上写一遍么?
  • 写了200多题?你吃透了几题?
  • 题目不会直接说不会吗?
  • 是不是觉得面试官在为难你?

如何练习算法

算法,永远的痛

  • 题做了很多,但就是记不住解法
  • 从来就没有弄明白过动态规划是怎么回事
  • 这题好像见过,不过还是不知道怎么做
  • leetcode,cc150都刷了,新题还是跪

补充常用网站:
Google: http://www.google.com
Collabedit:http://collabedit.com
Google Style Guide:https://github.com/google/styleguide
Google开源项目风格指南-中文项目:https://github.com/zh-google-styleguide/zh-google-styleguide
leetcode:https://leetcode.com
CareerCup:http://www.careercup.com/

你可能感兴趣的:(C++算法原理与实践)