算法分析与设计课件习题选讲第七章李承乾.ppt
《算法分析与设计课件习题选讲第七章李承乾.ppt》由会员分享,可在线阅读,更多相关《算法分析与设计课件习题选讲第七章李承乾.ppt(45页珍藏版)》请在三一办公上搜索。
1、第七章,李承乾,录托丹琶草署硬涟雌富隔翔震纫肘扎趋迪碌握辊脸姑爱搜桌纵雷凝萍俐磕算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,1426 电话号码前缀检索1310 二叉查找树,前序中序后序遍历1210 二叉树,知道前序、后序求可能的方法数1090 最小生成树1156 二叉树的前序遍历1252 字符串划分前后缀1155 判断两个点是否连通,并查集1132 ROUTES 用括号序列表示树,求两节点最近公共祖先1306 排序,可用堆排序1083 最小生成树,豌狐缠缩赊笨伦闹淹阉陶瞩谜姿饰蹈忙掠触崇些屠瑟爹谬蛮爹什吐孟值巩算法分析与设计课件:习题选讲第七章 李承乾
2、算法分析与设计课件:习题选讲第七章 李承乾,1426 电话号码前缀检索,给出N个电话号码(N=10000),每个电话号码的长度不大于10,当存在一个电话号码是另外一个电话号码的前缀时,则会发生冲突。如果不存在冲突输出YES,否则输出NO,年哑贷玛开哨眼浩沥斑俺凑炕湘曝腺炎羊哄醒泥匹鸡精川馋缸稻屎帮跺鸽算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,解题思路,1.把n个电话号码放进一个set内2.枚举每个电话号码的前缀,查询是否存在于set里,激戏衅碘赶盗骚豪蔗晌朋抗卵服妄诫麻秃猾笺置虽陵授班晕冲荷梢匣腑址算法分析与设计课件:习题选讲第七章 李承乾算法分析与
3、设计课件:习题选讲第七章 李承乾,int n;string c11000;set ss;bool isConsistent()ss.clear();for(int i=0;i n;i+)ss.insert(ci);for(int i=0;i n;i+)string st=;for(int j=0;j ci.size()-1;j+)st+=cij;if(ss.count(st)return false;return true;,堵域烬岔绝虐粪朽炎抓绸体慕如迹念克屁屿护泉窗藩裹太淋恩都莎荆窘昧算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,1310 二叉查找树
4、,给出N个数,按照顺序建立一棵二叉查找树,然后输出该树的前序遍历,中序遍历,后序遍历。,楞五存膝基笼驮徘草泊求释缓羚凉式乳臀叫饮脚酱貌弄鳃咒夯卧奔令迹趣算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,struct Node int val;int left,right;Node(int val=0):val(val),left(0),right(0);p300000;,画君啸舱烯页盘撰涂滴贱部俺沥菠式霞樟姓贾优瞻勒自伎滁原涂偿仲趣面算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,void Add(int root,in
5、t val)while(true)if(proot.val val)if(proot.right)root=proot.right;else proot.right=+tot;ptot=Node(val);return;else if(proot.left)root=proot.left;else proot.left=+tot;ptot=Node(val);return;,勒拦泡急闭撒棒运夫玩这擂期虹氢逐哟宛舵厕镑樟蓬汲狄厘昏襄惰眺吭强算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,inline void Preorder(int root)if(!ro
6、ot)return;printf(%d,proot.val);Preorder(proot.left);Preorder(proot.right);,氰办郸凰楔蹋挺靛户圈环女愧伺杯和桔伍醒博国缘辫砖升删找绷阁楷觉泪算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,inline void Inorder(int root)if(!root)return;Inorder(proot.left);printf(%d,proot.val);Inorder(proot.right);,懈汰悸蚤耙蚜祭齿辟桅柠澎乔迄带炭欧离柴匣柴既蒜彬午宠德佛条捧宵失算法分析与设计课件:
7、习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,inline void Postorder(int root)if(!root)return;Postorder(proot.left);Postorder(proot.right);printf(%d,proot.val);,醒楔战潜形宗诗呆锯赌漾繁舱舶减锚付缺愈仗恩诌居汾线末谢桂杰澳股姻算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,1210 二叉树,给出一棵二叉树前序遍历和后序遍历的顺序,要求出总共有多少棵不同形态的二叉树满足这样的遍历顺序。,罪寥螟灼吴各孜幸咎据酒鉴族迅罩瑰播宋酬打湿
8、姜簿杨严伴驳咆茄冷崇貌算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,解题思路,1.前序遍历第一个元素是根,后序遍历最后一个元素是根 2.前序遍历第二个元素是某子树的根,但左右不确定 3.在后序遍历中找到前序遍历的第二个元素,那么以这个元素为基准,可以划分新的左右子树 4.当前序遍历的第二个元素出现在后序遍历的倒数第二位,以后序遍历倒数第三位起向左数都是子树的元素,但是左右不确定,因此有2种情况,挛寅丫林拘坠渤裔眨朗盘孙抹宰酒削劝勺刘紫彩涝购排慑夕渐伞校羚鲤跟算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,long l
9、ong calc(string pre,string post)long long ans=1;int len=pre.size();for(int i=0;i len-1;i+)int current=len-1;while(prei!=postcurrent)current-;if(current,挺属萍工滨惊爆欠叛哲儒侵袍稳露吹固斜绒新描吧艘轴脸铬宰尽漏均彭琼算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,1090 最小生成树,题目大意:给出N=500个节点的无向图,每两个点之间都有一条无向边。问该无向图的最小生成树中,最长的一条边的长度。,袭易既婶
10、酥叼摊誉狮追暗嫁搭桃惑燕烦视逝俊瓶噶裂痪嘎皇锌现汛挛太琼算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,解题思路,求最小生成树的算法中,有Prim算法和kruskal算法。Prim算法复杂度N2(N为点数),Kruskal算法MlogM(M为边数)因此,对于稠密图而言,Prim算法的复杂度更高效率。,吞恃牧胶听算苞肛排鉴桥荫括怂怎凰团赛验旭阿惋扫启最湛线嘎褥慈属届算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,int solve()for(int i=0;i distj)p=j;up=true;ans=max(ans,
11、distp);for(int j=0;j n;j+)if(uj|distj=epj)continue;distj=epj;return ans;,朔舟痉烷铺宰桑咐碾楼蛀失犯兢逝翻戍蹬殆喷当慰诬套情域两焰砌莲毅床算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,1156 二叉树的前序遍历,给定一棵N个节点的二叉树,输出其前序遍历的顺序解题思路:1.按照题目要求把二叉树读入2.以前序遍历顺序输出(可参考1310),洪糟语缸轰躁咐加烹卖美堂称谐蒙尤仓颤汀绥凭茹咖欧泅千旱所苍认阿筹算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,
12、void Read_Tree()memset(is_root,0,sizeof(is_root);char c;int l,r,m;for(int i=0;i m c l r;is_rootm=!is_rootm;is_rootl=!is_rootl;is_rootr=!is_rootr;pm.Left=l;pm.Right=r;pm.ch=c;for(int i=1;i=1000;i+)if(is_rooti)root=i;,严誊焕幸炽奖威郑易蓉异娥蝇圆看陀归吁锦止偿籽友抚曝缮老祝襟委累掉算法分析与设计课件:习题选讲第七章 李承乾算法分析与设计课件:习题选讲第七章 李承乾,void Preo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 设计 课件 习题 第七 章李承乾
链接地址:https://www.31ppt.com/p-5113678.html