北一女中 資訊選手培訓營 遞迴、河內塔與merge sort Nan.

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

歷史二 第一篇 第二章 三代的興衰與文化 第一節 三代興衰與封建體制 第二節 時代劇變與學術教育的發達.
用印度数学提高计算速度 段志强. 讲义大纲 速算基础 充满智慧的印度数学 印度数学的十类快速计算 复习和测验 综合应用及思考.
無性生殖是由親代直接產生新的個體,並不涉及配子的生成與結合。
导 游 基 础 知 识.
传道书 12种虚空 9处不可知 23样价值观 7个小结论 人生是虚空的虚空! (没有神的人生)
人生格言: 天道酬勤 学院:自动化与电气工程学院 班级: 自师1201 姓名:刘 威.
3.《增值税纳税申报表(小规模纳税人适用)》填写
(教育学博士,曾任中学副校长,兼职南京大学博士后)
民國88年至99年期間,下列何種空氣品質指標污染物有逐年升高的趨勢?
自然的食物就是你最好的醫生 上課之前先聽一首歌~稻香 歌詞、音樂還不錯和大家分享一下
〝奇異恩典〞~陳進成 『我的弟兄們,你們落在百般試煉中,都要 以為大喜樂;因知道你們的信心經過試驗, 就生忍耐。但忍耐也當成功,使你們成全、
怎樣吃才健康? 賴亭竹.
外国小说话题突破系列之七 情感.
胫腓骨骨折.
第23课 美术的辉煌 米勒:《拾穗者》(法国).
一般纳税人增值税 纳税申报表填写指引 白银高新区国税局 纳税服务科 2016年5月.
第7课 古罗马的政制与法律.
第二单元 商鞅变法 第1课 改革变法风潮与秦国历史机遇(背景) 第2课 “为秦开帝业”──商鞅变法(内容)
区域地理环境与人类活动.
内 容 ● 民间非营利组织会计实务操作 ● 项目会计核算中注意事项 ● 社会组织年检报告的填列 ● 社会组织评估中财务资产指标的解释
第二单元(6-9课) 近代化的探索.
2011年广西高考政治质量分析 广西师范大学附属外国语学校 蒋 楠.
荆轲刺秦王 《战国策》.
第一单元 生活与消费 目 录 课时1 神奇的货币  课时2 多变的价格 课时3 多彩的消费.
初探逻辑推理 提高思维水平 ——《逻辑和语文学习》
知识回顾 1、通过仔细观察酒精灯的火焰,你可以发现火焰可以分为 、 、 。 外焰 内焰 焰心 外焰 2、温度最高的是 。
2016届高三期初调研 分析 徐国民
列王紀下8章 啟示錄12章 書念婦人 婦人 死裡復活的兒子 被提的男孩子 七年饑荒 三年半大災難 非利士地 曠野 歸還房屋田地
佛教既是外來宗教, 為何盛行於中國?.
新帝國主義開港 (一)臺灣成為侵略者目標 1.背景: A.買賣利豐=鴉片進口+米、糖、樟腦、煤炭出口 B.地理位置優越=航行安全+商貿中心 2.新帝國主義: A.19C中:英、法、美、日為主 B.臺被迫開港通商,割地賠款,簽訂不平等條約.
港澳信義會明道小學 天地有情 分享者:徐燦麗老師、 蘇娟玉老師 日期:2005年12月3日 P.1.
第5章 排序与查找 PART A 《可视化计算》.
第二章 三代的興衰與文化 第二節 時代劇變與學術教育的發達
江苏衡鼎律师事务所苏州分所 苏州广正知识产权代理有限公司
歌仔戲 與 歌舞伎 4a 張淇惠 4a11b025 許巧嬑 4a 倪曼凌 4a1c0004 楊長梵
佳力科技 防爆叉车的应用、发展 浙江佳力科技股份有限公司.
岳阳市教学竞赛课件 勾股定理 授课者 赵真金.
桃園縣龜山鄉文欣國小 校園植物簡介 內庭區.
耶利米书.
河北民族师范学院图书馆志愿服务个案 张田吉
请同学们思考下列问题:.
1 实验目的 观察单缝夫琅和费衍射现象,加深对夫琅和费衍射理论的理解。
烟花爆竹企业开复工 安 全 培 训参考课件 浏 阳 市 安 监 局.
命题与四种命题 高二数学 选修2-1 第一章 常用逻辑用语.
第一篇:静力学 1 、研究的主要问题:力,力系的简化原理 及物体在力系作用下的平衡问题。 2 、研究方法:对物体(或物体系)进行受
南亚、中亚 要点·疑点·考点 位置:位于喜马拉雅山以南,印度洋以北,大部分在10°N~30 °N之间 内陆国——尼泊尔、锡金、不丹
張騫、班超通西域.
常规免疫接种率 监测 免疫规划科 章梦然.
入托、入学儿童预防接种证查验 武平县疾病预防控制中心 林传贵
面向海洋的开放地区——珠江三角洲 山东省高青县实验中学:郑宝田.
传道书 12种虚空 9处不可知 23样价值观 7个小结论 人生是虚空的虚空! (没有神的人生)
词类活用.
勾股定理 说课人:钱丹.
证券投资基金 投资121 06号余煜欢 09号陈秋婷 33号陈柔韵 08号潘晓峰 10号曾杰 34号谭锐权.
狂賀!妝品系同學美容乙級通過 妝品系三甲 學號 姓名 AB 陳柔諺 AB 陳思妤 AB 張蔡婷安
第七章 财务报告 主讲老师:王琼 上周知识回顾.
人教版数学四年级(下) 乘法分配律 单击页面即可演示.
如何赢一个机械键盘
乘法公式 (1) 乘法分配律 (2) 和的平方公式 (3) 差的平方公式 (4) 平方差公式.
數學遊戲一 河內塔 (Tower of Hanoi)
第8章 資料排序 資料結構設計與C++程式應用
Welcome 实验:筷子提米.
第一部分 数字电路 第4章 组合逻辑电路 主讲教师:喻红.
线段 射线 直线.
9.1.2不等式的性质 周村实验中学 许伟伟.
2015中考第一轮复习 确定圆的条件.
本教學投影片係屬教科書著作之延伸,亦受著作權法之保護。
美丽的旋转.
資料結構 老師:李崇明 助教:楊斯竣.
Presentation transcript:

北一女中 資訊選手培訓營 遞迴、河內塔與merge sort Nan

遞迴,原來是這麼回事 讓我們從函數執行來了解遞迴的真義

你一定聽過一種說法…… 「函數,就像一個黑盒子, 你給他input,他就給你output。」 但你知道實際上程式在呼叫與執行函數時是怎麼回事嗎?

讓我們用費伯納基數列來舉例說明……

這是一個可以計算出費伯納基數的函數

他的input是一個數n,代表我們要的是第n項的費伯納基數

而這就是黑盒子裡面做的事情:遞迴呼叫和處理邊界情況

直到輸入為0或1時(邊界情況),結束遞迴 N=n-1 N-1 N-2 … n - 1 n - 2 … M=n-2 M-1 M-2 … …

放到真實的code中來看 每次呼叫實際上是新產生一段會照著這段code的步驟一一執行的CPU指令, 並給他參數n,讓他可以套進這段code所產生的CPU指令裡面。 n = 1 fib(3) fib(3) = 2 回傳值=1 n = 2 回傳值=1 + 0 = 1 n = 0 n = 3 回傳值=0 回傳值=1 + 1 = 2 n = 1 回傳值=1

搬完就世界末日的塔 經典遞迴問題: 河內塔

河內塔的故事與規則 一次只能動一個盤子 小的不能在大的下面 目標是把所有盤子移到第三根柱子 “河內之塔(Towers of Hanoi)是法國人M.Claus(Lucas)於1883年從泰國帶至法國的,河內為越戰時北越的首都,即現在的胡志明市;1883年法國數學家 Edouard Lucas曾提及這個故事,據說創世紀時Benares有一座波羅教塔,是由三支鑽石棒(Pag)所支撐,開始時神在第一根棒上放置64個由上至下依由小 至大排列的金盤(Disc),並命令僧侶將所有的金盤從第一根石棒移至第三根石棒,且搬運過程中遵守大盤子在小盤子之下的原則,若每日僅搬一個盤子,則當 盤子全數搬運完畢之時,此塔將毀損,而也就是世界末日來臨之時。” -- http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/HanoiTower.htm 一次只能動一個盤子 小的不能在大的下面 目標是把所有盤子移到第三根柱子

http://notepad.yehyeh.net/Content/DS/CH02/4.php

先從基礎的2個盤子開始看 A B C AB A B C A B C A B C AC BC

“把上面的大盤子從A移到B和從B移到C的這件事, 如果是三個以上…… A B C 就把除了最後一個盤子之外的所有盤子看成一個盤子→ AB A B C A B C A B C AC BC “把上面的大盤子從A移到B和從B移到C的這件事, 正是另一個河內塔問題。”

Pseudo Code

講了這麼多, 到底什麼時候會用到遞迴呢? 分而治之 “Divide and Conquer” “大的問題可以切成小的問題來做, 做完再湊出大的問題的解答”

遞迴與分而治之 (Divide and Conquer) 合併排序 Merge Sort 遞迴與分而治之 (Divide and Conquer)

排序問題 “給你一堆數字,請你把他按照大小順序排好。” 之前你可能有學過泡泡排序(bubble sort) 它的worst case複雜度是O(n2),有更好的做法嗎?

有!我們有合併排序(merge sort)! 合併排序的特點: 採用遞迴—分而治之 O(nlogn),排序問題的最佳解之一 用空間換取時間

請準備一副撲克牌,拿出其中一個花色的七張牌, 讓我們來實際操作一下吧! 請準備一副撲克牌,拿出其中一個花色的七張牌, 隨意洗牌,再把它攤在桌上排一排

Pseudo Code