1.【1】计算机的基本构成(CPU、内存、I/O设 备等)2.【1】Windows、 Linux等操作系统的基本概念及其常见操作7.【1】程序设计语言以及程序编译和运行的基本概念8.【1】使用图形界面新建、复制、删除、移动文件或目录9.【1】使用Windows系统下的集成开发环境(例如 Dev C++等)10.【1】使用Linux系统下的集成开发环境(例如 Code::Blocks等)•【1】标识符、关键字、常量、变量、字符串、 表达式的概念•【2】头文件与名字空间的定义与理解
•【2】编辑、编译、解释、调试等概念理解•【1】字符型:char
•【1】布尔型:bool•【2】cin 语句.scanf 语句,cout语句,printf语句,赋值语句,复合语句•【2】for语句,while语句,do while语句
•【3】多层循环语句•【1】关系运算:大于,大于等于,小于,小于等于,等于,不等于•【1】逻辑运算:与(&&)、或(||)、非(!)•【1】变量自增与自减运算
•【1】三目运算
•【3】位运算:与(&)、或(|)、非(~)、 异或(^)、左移、右移•【3】绝对值函数,四舍五入函数,取上整函数, 取下整函数,常用三角函数,对数函数,指数 函数,平方根函数•【3】<algorithm> 中 sort 函数•【4】 栈(stack)、 队列(queue)、链表(list)、向量(vector)等容器1 C++以外的其他高级程序设计语言可参照本部分内容。•【3】二叉树的定义及其基本性质
•【4】二叉树的孩子表示法•【4】哈夫曼树的定义、构造及其遍历
•【4】二叉树的定义、构造及其遍历•【2】算法描述:自然语言描述、流程图描述、伪代码描述•【1】数的概念,算术运算(加、减、乘、除、求余)•【1】数的进制:二进制、八进制、十六进制和十进制及其转换•【3】整除、因数、倍数、指数、质数、合数、同余等概念•【3】欧几里得算法(辗转相除法)
•【4】埃氏筛法和线性筛法求素数1.【5】在Linux系统终端中使用mkdir、cp、rm、mv等命令新建、复制、删除、移动文件或目录2.【5】在Linux系统终端中使用cd、pwd、ls等命令更改、显示目录路径和查看目录中的文件3.【5】在Linux系统下使用Gedit、Vim或Emacs等文本编辑工具编写代码4.【5】熟悉g++、gcc等编译器以及优化、数学库等常见编译选项5.【5】在Linux系统终端中运行程序,并使用time命令查看程序用时(区分real time、sys time和user time)6.【5】了解调式工具gdb及其break、display、continue、step等命令•【5】列表(list),双端队列(deque),优先队列(priority_queue)•【5】多重集合(multiset)
•【5】映射(map),多重映射(multimap)2 C++以外的其他高级程序设计语言可参照本部分内容。•【7】笛卡尔树
•【8】二叉平衡树AVL、treap、splay等•【6】有向无环图
•【7】连通图与强连通图
•【7】重连通图•【6】堆排序
•【6】树形选择排序(锦标赛排序)•【6】Prim和kruskal等求最小生成树算法•【6】Dijkstra、bellman_ford、SPFA等求单源最短路算法•【6】Floyd-Warshall算法求任意两点间的最短路和传递闭包1.【8】STL模板:容器(containers)、迭代器(iterators)、空间配置器(allocators)、配接器(adapters)、算法(algorithms)、仿函数(functors)3 C++以外的其他高级程序设计语言可参照本部分内容。•【8】二分图的最大匹配——匈牙利算法
•【9】二分图的最佳匹配算法——KM算法•【8】大步小步(Baby Step Giant Step,BSGS)算法•【10】快速傅里叶变换(Fast Fourier Transform,FFT)•【9】Sprague-Garundy(SG)函数概念及应用