Loading

第02课丨训练准备和复杂度分析

1 注意点

1.1 训练环境设置

⼯欲善其事,必先利其器

1.2 编码技巧

指法和小操作

• home, end(⾏头、⾏尾)

• IDE 的⾃动补全

• Top tips for

_pycharm快捷键设置

1、编辑(Editing)

Ctrl + Space 基本的代码完成(类、方法、属性)
Ctrl + Alt + Space 快速导入任意类

Ctrl + 鼠标:简介
Ctrl + F1 显示错误描述或警告信息


Ctrl + / 行注释
Ctrl + Shift + / 块注释
Ctrl + Shift + ]/[ 选定代码块结束、开始

Ctrl + Alt + L 代码格式化

Tab / Shift + Tab 缩进、不缩进当前行
Ctrl+X/Shift+Delete 剪切当前行或选定的代码块到剪贴板
Ctrl+C/Ctrl+Insert 复制当前行或选定的代码块到剪贴板
Ctrl+V/Shift+Insert 从剪贴板粘贴

Ctrl + D 复制选定的区域或行

Shift + Enter 另起一行

Ctrl + Delete 删除到字符结束

Ctrl + Backspace 删除到字符开始

2、查找/替换(Search/Replace)

Ctrl + R 替换
Ctrl + Shift + F 全局查找
Ctrl + Shift + R 全局替换

1.3 Code Style

要注意各种编程规范

1.4 自顶向下的编程方式

编程时先考虑顶层方向,比如先写好各个函数。

之后再考虑细节问题,比如函数的具体实现。

2 时间复杂度、空间复杂度

2.1 Big O notation

总结:常、对、幂、指、阶

O(1): Constant Complexity 常数复杂度

O(log n): Logarithmic Complexity 对数复杂度

O(n): Linear Complexity 线性时间复杂度

O(n^2): N square Complexity 平⽅

O(n^3): N square Complexity ⽴⽅

O(2^n): Exponential Growth 指数

O(n!): Factorial 阶乘

注意:只看最高复杂度的运算

2.2 时间复杂度曲线

posted @ 2021-12-30 21:14  maju  阅读(41)  评论(0)    收藏  举报