- 4
- 0
- 约 27页
- 2017-06-08 发布于湖北
- 举报
ACM暑期培训 主要内容 原理不重点讲,着重介绍数据结构在ICPC中的应用和实现,包括如何用STL实现。 主要内容:数组(Array),向量(Vector,少用),,栈(Stack),队列(Queue), 数据结构课程的内容 数组 空间分配 连续的地址空间,大小确定 例如: Int arr[4],arr代表数组首地址 可以在常数时间内存取任何一个元素 Vector 头文件 #includevector VectorElem c VectorElem c1(c2) VectorElem c(n) VectorElem c(n,elem) VectorElem c(beg,end) Vector特点 vector可以实现动态增长的数组。 如果题目中能使用数组,尽量使用数组。 因为向量空间如果不够,会重新分配空间,导致时间浪费。 迭代器 向量可以使用下标访问也可以使用迭代器访问,一般较多用于存储空间非连续的容器。 begin() 返回一个迭代器,指向容器起始点,也就是第一元素的位置。 end() 返回一个迭代器,指向容器的结束点。结束点在最后一个元素之后。 例子: vectorint::iterator pos; for(pos=v.begin();pos!=v.end();++pos) cout*pos; ++pos,pos++ 前者效率稍高于后者,因为后者使用时会创建临时变量存储数据。 List 头文件 #includelist 特点:逻辑上连续,空间上不连续。 空间: a1 head a2 /\ an …… 存取数据需要从头开始依次向后访问,需要消耗线性时间,o(n) Stack 头文件 #includestack 栈是一种LIFO(Last In First Out,后进先出)的线性数据结构。 Stack 如果确定了进行操作的一端,对应的可确定栈顶(top)和栈底(bottom)。 栈顶即进行操作的一端。 实现方式:一般用顺序表stack和栈顶指针top来实现 例子: 把一个字符串倒序输出。 符合栈的特点。 Queue 头文件 #includequeue 与栈相反,是FIFO,先进先出的 顺序表的缺点:当出队元素很多时,front之前的空间被浪费了 当出队的元素可以被舍弃时,有两种优化方式:环形队列和链队 例子: 银行业务的模拟。 符合队列的特点。 stack容器的几个方法 stack入栈 push();出栈 pop();栈顶 top(); queue容器的几个方法 queue入队 push();出队 pop();队首 front(); 二者都有的方法判空 empty();元素个数 size(); STL中的栈和队列 题目 Stack(扩展) 大家可以用栈实现简单的计算器。 ( +,-,*,/,(,)) hint :可以参考大二数据结构书中栈那一章。 Queue(扩展) 广度优先搜索使用队列实现。 Set Map 二者插入元素时会自动排序。 自动排序的主要优点在于使二叉树查找元素时具有良好性能。O(log(n))的查找复杂度。 二者的元素Key值都必须唯一。 平衡二叉树 Set 头文件 #includeset 插入的值不能重复,重复的话等于覆盖。 Set Set Pair(对组) Map的元素类型为Pair,使用Pair来管理其键值/实值(key/value)的成对元素。任何函数需返回两个值,也可以使用Pair。 make_pair(ElemType,ElemType)返回一个pair。 例子: pairint,string t(1,”string”) pairint,string t=make_pair(1,”string”) 可以通过t.first,t.second 访问pair的成员。 Map 头文件 #includemap 类似set,只是多了一个实值value. 元素都是pair类型。 关键字唯一,不能重复,重复的话等于修改。 例子: String(STL) string str=12 23 33 24; istringstream sin(str); int arr[4]; int i=0; while(sinarr[i++]) ; 练习: HDU 1128, 1515, 1972, 1004 , 1002
您可能关注的文档
- 接口芯片介绍.ppt
- 5验证总计划及验证状态的维护培训讲义.pdf
- 06-基础类与工具类.ppt
- 就业协议书报到证及人事代理一问一答.doc
- 居民持久收入水平对储蓄率影响实证研究.pdf
- 06篇习题-答案.pdf
- 6 单片机原理及应用(第六章中断及定时).ppt
- 6 数模及模数转换接口技术.ppt
- 巨与_孟凡兴_进制转换.doc
- 6.2 数的定点表示与浮点表示.pdf
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
原创力文档

文档评论(0)