README algo.aspires.cc
Location: Macao Polytechnic Institute
Time Schedule: From 26 Oct. Each Tuesday, 18:00 - 19:30
Semester: 1
Typora: typora.io
Google Colab: google/colab
LeetCode: leetcode/problemset
POJ: poj/problemlist
Clone via HTTPS using following command or Click Code
then Download ZIP
.
git clone https://github.com/Ex10si0n/Algorithms.git
You can open README.md
(Markdown File: open via Typora or notepad.exe) locally or on this page.
- Attandance
- Assignments
This lecture will specifically focus on the Algorithms implementation. My example code will be demostrated in Python, but you can adopt any kind of programming language if you prefer.
No slides are distributed (cuz. I do not regard slides as effecient format to display codes) but all of the codes and explanations are showed on this README.md
.
Following topics will be covered in the Interest Group
- Fundamental Methodologies
- Greedy (贪心)
- Binary Search (二分)
- Recursion (递归)
- Data Structure (数据结构)
- Linear Structure
- Generic Tree
- Tree (树)
- Binary Tree (二叉树)
- Linear Structure (maintained by Tree) (由树维护的线性结构)
- Generic Graph
- Graph Theory (图论)
- Minimum Spanning Tree (最小生成树)
- Depth-first Search (深度优先搜索)
- Multiple Source Shortest Path - I (多源最短路径)
- Breadth-first Search (广度优先搜索)
- Shortest Path - II (单源最短路径)
- Network Flow (网络流)
- Bipartite Graph (二分图)
Here are some useful tools for coding. I will briefly introduce them as follows:
Vim is a high efficient code editor in command line. I will use vim to implement the Algorithms code in this lecture. You can try to use it with ease because I will specifically introduce some shortcuts and modes of vim. But you are free to adopt any IDEs or text editor you like. You can install it by command:
# Linux
sudo <package-manager> install neovim
# macOS
brew install neovim
# Windows
choco install vim
# macOS (in Terminal.app)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Windows (in powershell.exe with Administrator)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Demo at Jetbrains/using-product-as-the-vim-editor
LeetCode in 知乎. It is a good platform for elementary algorithms learning. It is appropriate for preparing for a job as well as learning algorithms.
I you do not have a LeetCode account, please visit Leetcode.com or Leetcode-cn.com (中文题目) to create an account.