TA的每日心情 | 开心 2024-9-19 21:14 |
---|
签到天数: 757 天 [LV.10]以坛为家III
管理员
- 积分
- 1312457
|
算法训练营 极客大学
第一课 数据结构与算法总览
一维:
基础 数组array(string),链表linked list
高级 栈stack,队列queue,双端队列deque,集合set,映射map(hash or map),etc
二维:
基础 树tree,图graph
高级 二叉搜索树binary search tree(red-black,AVL),堆heap,并查集disjoint set,字典树Trie,ect
特殊:
位运算Bitwise,布隆过滤器BloomFilter
算法
else,switch_>branch
for,while loop_>lteration
递归Recursion(Divide&Conquer,Backtrace)
搜索Search:深度搜索Depth first search,广度优先搜索Breadth first search,A*,ect
动态规划Dynamic Programming
二分查找Binary Search
贪心Greedy
数学Math,几何Geometry
第二课 学习准备与复杂度分析
Mac:iTerm2+zsh(oh my zsh)简书
Windows:Microsoft new terminal微软终端:(https:/github.com/microsoft/terminal)开源代码库
编译环境:VSCode;Java:InterlliJ;Python:Pycharm
代码风格:
单目运算符(Unary Operators)与它的操作数之间应紧密相接,不需要空格。
如:y = ++x; // ++ 在这里是前缀单目运算,它与x之间无空格
在双目、三目运算符(Binary/Ternary Operators)的左右两侧分别添加空格。
如:int a = 3 + 5; // 在双目运算符左右添加空格
int d = b++ * c–; // 虽然有单目运算符,但双目运算符两侧仍应添加空格
int e = a > 0 ? 1 : 0; // 在三目运算符左右添加空格
括号(包括小括号、中括号与大括号)的内侧应该紧靠操作数或其他运算符,不需要添加额外的空格。
如:int f = (a + b) * c; // 括号内侧紧靠操作数,因其他运算符添加的空格留在外侧
// 函数形式的调用,括号前没有空格
cmd = Console.ReadLine();
// 语句结构,括号前有空格
if (cmd.Length > 0)
自顶向下的编程方式:
层次(主干)逻辑
时间复杂度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 cubic Complexity立方
O(2^n) Expoential Growth指数
O(n!) Factorial 阶乘
ster Theorem
Binary search二分查找 O(log n)
Binary tree traversal二叉树的遍历 O(n)
Optimal sorted matrix search排好的有序矩阵二分查找 O(n)
Merge sort归并排序 O(nlog n)
遍历:前序、中序、后序的时间复杂度是O(n),n是二叉树的节点总数。遍历时每个结点都会访问,且只访问一次。
图的遍历:时间复杂度是O(n),n是图里的节点总数
搜索算法:DFS深度优先、BFS广度优先 时间复杂度是O(n),n是搜索空间里面的节点总数。
VSCode快捷键
Alt+↑ / ↓ 移动当前行 上/下
Shift+Alt+↑ / ↓ 复制行 上/下
Ctrl+Shift+K 删除行
Ctrl+Enter 插入行(当前行下方)
Crtl+Shift+Enter 插入行(当前行上方)
Home/End 行首/行尾
Ctrl+End 到文件末尾
Ctrl+Home 到文件开始
Alt+Z 自动换行 启用/禁用
F8 跳转至指下一个错误或警告
Shift+F8 跳转之前一个错误或警告
Ctrl+F 查找
Ctrl+H 替换
F2 重命名
Ctrl+N 新建文件
Ctrl+O 打开文件
Ctrl+S 保存
Ctrl+Shift+S 另存为
Ctrl+F4 关闭
Ctrl+Tab 打开下一个
Ctrl+Shift+Tab 打开前一个
Ctrl+Shift+D 显示调试
F9 切换断点
F5 开始/继续
Shift+F5 停止
F11/Shift+F11 跟进/跟出
F10 跟出
Ctrl+↑ / ↓ 上/下滚动
Shift+PgUp/PgDn 上/下滚动页面
Ctrl+Home/End 顶端/底端滚动页面
windows10快捷键
Win+I 打开设置
Win+E 打开文件管理器
Win+A 打开操作中心
Win+S 打开搜索
Win+K 打开连接设备
Win+V 打开云剪贴板
Win+D 显示桌面
Win+L 锁定桌面
Win+Shift+S 召唤windows截图工具
Win+; 调出Emoji表情
快捷键也太神奇太方便了吧 哈哈 要勤加练习哟!
|
|