一些现在看来可能还用不到的,但是很有用的东西。
| 核心课程 | 内容 | 备注 |
|---|---|---|
| 数据结构 (计算机的基础) | 数据结构是计算机存储、组织数据的方式 正确的数据结构选择可以提高算法的效率 | 推荐 浙大 数据结构 |
| 算法 (计算机的科学) | 简单的几百万条数据,算法之间没有差别 如果有1千万条数据的话,使用不同算法处理还是有区别的 | 用于提升计算机解决逻辑问题的速度 AI、人工智能 |
| 计算机网络 | 由一些通用的、可编程的硬件互联而成 这些硬件用来传送不同类型的数据,并支持广泛和增长的应用 | 推荐 计算机网络微课堂 推荐 《计算机网络 自顶向下方法》 经典教材 |
| 计算机组成原理 | 计算机硬件系统的逻辑实现(硬件系列课程的上层) 底层课程:数字逻辑设计 数字电子技术 | 推荐 哈工大刘宏伟老师的课 推荐 《深入理解计算机系统》 经典教材 |
| 操作系统 | 管理软件的软件 对单一计算机硬件系统做出抽象、支撑程序执行的软件系统 | 推荐南京大学蒋炎岩老师的课 推荐 《现代操作系统》 经典教材 |
| 数据库 | 管理和保存数据 | 推荐 人大 数据库系统概论 |
数据结构与算法
| 常见的数据结构 | 内容 | 备注 | 操作 |
|---|---|---|---|
| 栈 stack (一种后进先出的数据结构) | 特征a:有序的线性资料集合 只许在a的顶端加入和移除数据的运算 (后进后出运作,用单堆数组或链表实现,与队列结合着用) | JS实现 栈 结构-数组 用类封装 栈 操作 递归、回溯、深度优先搜索 | push() 入栈 pop() 出栈 peek() 检查栈顶 isEmpty() clear() size() |
| 队列 queue (一种先进先出FIFO的数据结构) | 只许在后端进行插入操作,在前端进行删除操作 先进先出的线性表,用单堆数组或链表实现 | JS实现 队列 结构-数组 用类封装 队列 操作 单链队列、循环队列、数组队列 | enqueue() 入列 dequeue() 出列 front() 查看队列头 isEmpty() clear() size() |
| 链表 | 基础数据结构,是一种线性表,但不会按线性顺序存储数据 而是在每一个节点里存到下一个节点的指针 | 用于组织检索较少,而删除、添加、遍历较多的数据 | |
| 树 | 用来模拟具有树状结构性质的数据集合,由n个有限节点组成一个具有层次关系的集合 | ||
| 图 | 用于实现数学中图论的无向图和有向图的概念 | ||
| 散列表 | |||
| 集合 | |||
| 字典 |
树 结构
| HTML的树形结构 | 内容 | 备注 |
|---|---|---|
| 增加子节点 | appendChild() | 编译为C、C++语言 通过对树结构的操作 |
| 删除子节点 | removeChild() | |
| 查找子节点 | getElementById() |
图 结构
使用 图结构 表示社交网络、地图搜索最短路径。
算法
| 算法 | 内容 |
|---|---|
| 排序算法 | 冒泡排序 O(n^2)归并排序 O(n log n)选择排序 插入排序 |
| 搜索算法 | 顺序搜索 二分搜索 |
| 算法模式 | 递归 动态规划 贪心算法 |