计算机核心课程

160 阅读3分钟

一些现在看来可能还用不到的,但是很有用的东西。

核心课程内容备注
数据结构
(计算机的基础)
数据结构是计算机存储、组织数据的方式
正确的数据结构选择可以提高算法的效率
推荐 浙大 数据结构
算法
(计算机的科学)
简单的几百万条数据,算法之间没有差别
如果有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)
选择排序
插入排序
搜索算法顺序搜索
二分搜索
算法模式递归
动态规划
贪心算法