经典数据结构与算法new

经典数据结构与算法new

ID:34481899

大小:458.47 KB

页数:48页

时间:2019-03-06

经典数据结构与算法new_第1页
经典数据结构与算法new_第2页
经典数据结构与算法new_第3页
经典数据结构与算法new_第4页
经典数据结构与算法new_第5页
资源描述:

《经典数据结构与算法new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、经典数据结构与算法张华2005.9.4Template(模版)ò模板使我们可以用一个代码段指定一组相关函数(称为模板函数)或一组相关类(称为模板类)ò模板是C++的软件复用的功能之一函数模版intmin(inta,intb){returna替代这种Typemin(Typea,Typeb){“为每个min()实例都显示定义一个函数”的方法returna

2、性的存储容器。òtemplateclasspair{public:T1first;T2second;pair(T1x,T2y):first(x),second(y){}};STL组件关系容器类迭代器算法vectorsort用迭代器连接容器和算法STL程序示例#include#include27210124710983#include#includeusingnamespacestd;intmain()vec.begin()ve

3、c.end(){intia[6]={27,210,12,47,109,83};vector>vec(ia,ia+6);cout<(),40)));return0;}//result:4STL中的容器顺序容器vectordequelistSequenceContainersset,multiset关联容器AssociativeContainersmap,multimap容器ContainersSTL

4、中的容器stackqueuepriority_queue容器适配器算法举例简介STL中用到了各种算法:排序、查询、排列组合、数据搬移与复制等ò分治算法ò动态规划ò回溯算法ò贪心算法参考书目ò标准模板库自修教程与参考手册—STL进行C++编程,D.R.Musser,G.J.Derge,A.Saini.òC++大学教程,H.M.Deitel,P.J.Deitel.òC++语言的设计和演化,BjarneStroustrup.òSTL源码剖析,候捷.//SGISTLò设计模式:可复用面向对象软件的基础,ErichGamma等.练习题ò法雷序列(FareySer

5、ies)对任意给定的一个自然数n,将分母小于等于n的不可约的真分数按上升的次序排列,并且在第一个分数前加上数0/1,而在最后一个分数后加上数1/1,这个序列被称为n级法雷序列,以Fn表示。例如,F8为:0/1,1/8,1/7,1/6,1/5,1/4,2/7,1/3,3/8,2/5,3/7,1/2,4/7,3/5,5/8,2/3,5/7,3/4,4/5,5/6,6/7,7/8,1/1如果将这些数在数轴上表示出来,它们的分布是不规则的。ò请编写一个用链表来求任意n级法雷序列Fn的算法,并在机器上调试实现。要求算法能反复若干次给定不同n,求Fn。也可用STL

6、实现,探讨不同STL的时间性能。ò提示:不能直接比较实数的等与不等。作业ò实现多项式的加、减、乘、除和mod五个函数:ò加法:(x^5+2*x^4+x^3)+(4*x^3)=x^5+2*x^4+5*x^3ò减法:(x^5+2*x^4+x^3)-(4*x^3)=x^5+2*x^4-3*x^3ò乘法:(x+1)*(x+1)=x^2+2*x+1ò除法:(x^2+2*x+2)/(x+1)=x+1òmod:(x^2+2*x+2)%(x+1)=1ò存储采用链表。注意要考虑特殊情况下的处理。测试程序的界面可以自由发挥。作业1.多项式的系数为实数。2.求mod的时候一

7、定要注意结果多项式的次数要小于除式多项式的次数。3.多项式为一元的。也就是只包括一个未知数x。4.加减乘除是多项式的。而不是多项式带入x后的值进行加减乘除。vector1.实际上就是个动态数组。2.随机存取任何元素都能在常数时间完成。3.在尾端增删元素具有较佳的性能。STL是如何实现vector的呢vectorvectorv1,v2;vector::iteratori;for(i=v1.begin();i!=v1.end();i++){v2.push_back(*i);//在末尾插入}for(i=v1.begin();i!=v1

8、.end();i++){v2.insert(v2.begin(),*i);//指定位置插入}v

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。