005 -【CS106B】【C++抽象编程】【中英字幕】【sets, lexic
1. 本课程介绍了抽象数据类型(ADTs)和不同类型的集合,包括向量、链表、栈、队列、集合和映射。
2. 课程强烈鼓励学生合作完成作业,因为合作可以减少问题数量、提高工作效率,并且可以更好地准备考试。
3. 在编写程序时,使用合适的数据结构可以提高程序的效率。在统计文件中的唯一单词数量时,使用集合比使用向量更快。
4. 集合有两种类型:set和hash set。set按照排序顺序存储元素,而hash set不保证元素的顺序,但速度更快。
5. 集合支持添加、删除和包含等核心操作,以及其他一些方便的方法,如获取集合大小、判断集合是否为空等。
6. Set(集合)和Map(映射)是计算机科学中常用的数据结构。
7. Set用于存储唯一的元素,而Map用于存储键值对。
8. Set有两种类型:Set和HashSet,前者按照插入顺序排序,后者无序。
9. Map也有两种类型:Map和HashMap,前者按照键的排序顺序排序,后者无序。
10. Map可以用于计数和统计,例如统计文件中每个单词的出现次数。
11. 这段代码中有两个嵌套的循环,总共执行了n^2 + 3n + 1个语句。
12. 大O表示法是一种用来描述算法效率的方法。
13. 大O表示法用来表示算法的最坏情况下的时间复杂度。
14. 大O表示法中的O(n)表示算法的时间复杂度与输入规模n成线性关系。
15. 大O表示法中的O(1)表示算法的时间复杂度是常数级的,与输入规模无关。
16. 循环次数越多,执行时间越长。
17. 在向向量中添加元素时,末尾添加较快,开头添加需要移动元素。
18. 执行某个操作所需的语句数量可以用O(n)或O(1)来表示,前者表示执行时间与元素数量成正比,后者表示执行时间不随元素数量变化。
19. O(n)表示较慢,O(1)表示较快。
20. 表格中的内容告诉我们哪些方法是快速的,哪些方法是慢速的。

