演算法導入、ソート、データ構造、ハッシュ

Similar documents
智力测试故事

Microsoft Word - Entry-Level Occupational Competencies for TCM in Canada200910_ch _2_.doc

奇闻怪录

-i-

Microsoft Word - 强迫性活动一览表.docx


30,000,000 75,000,000 75,000, (i) (ii) (iii) (iv)

I. 1-2 II. 3 III. 4 IV. 5 V. 5 VI. 5 VII. 5 VIII. 6-9 IX. 9 X XI XII. 12 XIII. 13 XIV XV XVI. 16

全唐诗28

「香港中學文言文課程的設計與教學」單元設計範本

2015年廉政公署民意調查

Microsoft Word - John_Ch_1202

全唐诗50

II II

一、

施 的 年 度 維 修 工 程 已 於 4 月 15 日 完 成, 並 於 4 月 16 日 重 新 開 放 給 市 民 使 用 ii. 天 水 圍 游 泳 池 的 年 度 維 修 工 程 已 於 3 月 31 日 完 成, 並 於 4 月 1 日 重 新 開 放 給 市 民 使 用 iii. 元

对联故事

Microsoft Word - MP2018_Report_Chi _12Apr2012_.doc

南華大學數位論文

李天命的思考藝術

皮肤病防治.doc

性病防治

中国南北特色风味名菜 _一)

全唐诗24

509 (ii) (iii) (iv) (v) 200, , , , C 57

我 非 常 希 望 该 小 组 的 建 议 尤 其 是 其 执 行 摘 要 能 受 到 将 于 2000 年 9 月 来 纽 约 参 加 千 年 首 脑 会 议 的 所 有 领 导 人 的 注 意 这 次 历 史 性 的 高 级 别 会 议 提 供 了 一 个 独 特 的 机 会 使 我 们 能 够

中国石化齐鲁股份有限公司

_Chi.ps, page Preflight ( _Chi.indd )

2. 我 沒 有 說 實 話, 因 為 我 的 鞋 子 其 實 是 [ 黑 色 / 藍 色 / 其 他 顏 色.]. 如 果 我 說 我 現 在 是 坐 著 的, 我 說 的 是 實 話 嗎? [ 我 說 的 對 還 是 不 對 ]? [ 等 對 方 回 答 ] 3. 這 是 [ 實 話 / 對 的

<4D F736F F D203938BEC7A67EABD7B942B0CAC15AC075B3E6BF57A9DBA5CDC2B2B3B92DA5BFBD542E646F63>

(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (i) (ii)(iii) (iv) (v)

<4D F736F F D20BB4FAA46BFA4B2C4A447B4C15F D313038A67E5FBAEEA658B56FAE69B9EAAC49A4E8AED72D5FAED6A977A5BB5F >

Microsoft Word - COC HKROO App I _Chi_ Jan2012.doc

穨學前教育課程指引.PDF

國立中山大學學位論文典藏.PDF

眼病防治

中国南北特色风味名菜 _八)

穨ecr2_c.PDF

電腦相關罪行跨部門工作小組-報告書

i

发展党员工作手册

i

39898.indb

Microsoft Word - Final Chi-Report _PlanD-KlnEast_V7_ES_.doc

(b) 3 (a) (b) 7 (a) (i) (ii) (iii) (iv) (v) (vi) (vii) 57

目 录 院 领 导 职 责... 1 院 长 职 责... 1 医 疗 副 院 长 职 责... 1 教 学 副 院 长 职 责... 2 科 研 副 院 长 职 责... 2 后 勤 副 院 长 职 责... 3 主 管 南 院 区 副 院 长 职 责... 3 党 委 书 记 职 责... 4

款 及 赔 偿 限 额 及 限 制 给 付 下 述 保 险 金, 但 有 关 医 疗 费 用 及 受 保 服 务 必 须 是 : i. 医 学 上 合 适 及 必 须 的, 及 ii. 由 医 疗 服 务 提 供 者 开 单 收 费 的, 及 iii. 符 合 通 常 惯 性 及 合 理 水 平 的

(i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) 60.99%39.01%

兒 童 會 4 摩 爾 門 經 本 教 材 專 為 8-11 歲 的 兒 童 設 計 耶 穌 基 督 後 期 聖 徒 教 會 台 北 發 行 中 心 印 行

Microsoft Word - NCH final report_CHI _091118_ revised on 10 Dec.doc

<4D F736F F D205B345DB5D8AE4CACD AECAAFC5C1C9C1DCBDD0AB48A4CEB3F8A657AAED>

歡 迎 您 成 為 滙 豐 銀 聯 雙 幣 信 用 卡 持 卡 人 滙 豐 銀 聯 雙 幣 信 用 卡 同 時 兼 備 港 幣 及 人 民 幣 戶 口, 讓 您 的 中 港 消 費 均 可 以 當 地 貨 幣 結 算, 靈 活 方 便 此 外, 您 更 可 憑 卡 於 全 球 近 400 萬 家 特

中国民用航空规章

RDEC-RES

群科課程綱要總體課程計畫書

(譯本)


第 二 輯 目 錄.indd 2 目 錄 編 寫 說 明 附 : 香 港 中 學 文 憑 中 國 語 文 科 評 核 模 式 概 述 綜 合 能 力 考 核 考 試 簡 介 及 應 試 技 巧 常 用 實 用 文 文 體 格 式 及 寫 作 技 巧 綜 合 能 力 分 項 等 級 描 述 練 習 一

我国服装行业企业社会责任问题的探讨.pages

(b)

nbqw.PDF

Microsoft Word - Panel Paper on T&D-Chinese _as at __final_.doc


江苏宁沪高速公路股份有限公司.PDF

绝妙故事

5498 立 法 會 2013 年 3 月 27 日 李 國 麟 議 員, S.B.S., J.P. 林 健 鋒 議 員, G.B.S., J.P. 梁 君 彥 議 員, G.B.S., J.P. 黃 定 光 議 員, S.B.S., J.P. 湯 家 驊 議 員, S.C. 何 秀 蘭 議 員 李

榫 卯 是 什 麼? 何 時 開 始 應 用 於 建 築 中? 38 中 國 傳 統 建 築 的 屋 頂 有 哪 幾 種 形 式? 40 大 內 高 手 的 大 內 指 什 麼? 42 街 坊 四 鄰 的 坊 和 街 分 別 指 什 麼? 44 北 京 四 合 院 的 典 型 格 局 是 怎 樣 的

尿路感染防治.doc

Microsoft Word - report final.doc

財 務 委 員 會 審 核 2014 至 2015 年 度 開 支 預 算 的 報 告 2014 年 7 月

心理障碍防治(下).doc

Microsoft Word - Paper on PA (Chi)_ docx

C Ann.indd

Page i

捕捉儿童敏感期

<D6D0B9FAB9C5CAB757512E6D7073>

14A 0.1%5% 14A 14A

穨_2_.PDF

(Chi)_.indb

世界名画及画家介绍(四).doc

飞行模拟设备的鉴定和使用规则


樹 木 管 理 專 責 小 組 報 告 人 樹 共 融 綠 滿 家 園

緒 言 董 事 會 宣 佈, 為 能 更 具 效 率 調 配 本 集 團 內 的 資 金 有 效 降 低 集 團 的 對 外 貸 款, 並 促 進 本 集 團 內 公 司 間 的 結 算 服 務, 於 2016 年 9 月 30 日, 本 公 司 中 糧 財 務 與 管 理 公 司 訂 立 財 務

600568_2008_n

Teaching kit_A4_part4.indd

「保險中介人資格考試」手冊

<4D F736F F D20A4A4B0EAB371AB4FB3E65FA4A4A4E5AAA95F5F >

商丘职业技术学院

第四十七界水務督察理事會

[ ] [ ] Sino-French Life Insurance Co., LTD. ( ) ( ) ( )

中医疗法(下).doc

vi 黃 帝 內 經 即 學 即 用 別 做 反 自 然 的 事 053 成 年 人 應 該 斷 奶 055 吃 肉 吃 素 因 人 而 異 057 要 分 清 飢 和 餓 058 生 活 現 代 化 與 本 能 退 化 061 調 神 就 是 調 節 奏 063 想 冬 泳, 先 問 問 自 己

《小王子》 (法)圣埃克苏佩里 原著

西施劇本_04Dec2003.doc


untitled

「保險中介人資格考試」手冊

- 2 - 获 豁 免 计 算 入 总 楼 面 面 积 及 / 或 上 盖 面 积 的 环 保 及 创 新 设 施 根 据 建 筑 物 条 例 的 规 定 4. 以 下 的 环 保 设 施 如 符 合 某 些 条 件, 并 由 有 关 人 士 提 出 豁 免 申 请, 则 可 获 豁 免 计 算 入

中華民國 年 月 日

Transcription:

培訓 - 1 演算法導入 ソート データ構造 ハッシュ 演算法導入 ソート データ構造 ハッシュ momohuang c2251393 chiangyo September 23, 2013 1 Schedule of the Year 1.1 Major Competition 9 12 11 10 12 10 TOI 的最 3 TOI 3 TOI 100 20 4 TOI 30 12 5 TOI 12 4 算 7 IOI 2014 1.2 Minor Competition 11 10 的 的 11 NPSC 複 12 PK 的話 的 的 USB I

1.3 Online Contests 演算法導入 ソート データ構造 ハッシュ 1.3 Online Contests codeforces.com 排 排 usaco.org 11 的 codechef.com 比 題 的 題 topcoder.com 較 複雜 算法 的比 1.4 Online Judges SGU acm.sgu.ru 的 OJ 題 POI main.edu.pl/en 訓 的 OJ 的題 URAL acm.timus.ru OJ POJ poj.org 題 題 題 TIOJ 218.210.35.237:8080/JudgeOnline tmt514 的 OJ HOJ hoj.twbbs.org/judge/ hanhan0912 的 OJ 題 xd 1.5 Online Courses Coursera 最 的 MOOC Stanford 的 Andrew Ng CS 的 edx MIT Harvard 的 MOOC CS Udacity 較 II

1.6 Recommended Books 演算法導入 ソート データ構造 ハッシュ 1.6 Recommended Books 培 的 的 題 算法 算法 Introduction to Algorithms Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein 2 Introduction to Algorithm Competitions 2.1 What Is Big-O? f(x) = O(g(x)) as x 的 的 f(x) g(x) is bounded for all sufficiently large x x 0, M R +, s.t. x > x 0 R, f(x) g(x) < M f(x) = O(g(x)) x 的 order of f(x) order of g(x) x 3 = O(x 4 ) x 1000 = O(1.2 x ) 10000 x 4 = O(x 4 ) log x = O(x 0.007 ) o 的 f(x) = o(g(x)) as x o f(x) lim x g(x) = 0 O o < 0.00000012 x 2 = o(x 2 ) 的 於 0 III

2.1 What Is Big-O? 演算法導入 ソート データ構造 ハッシュ 於 的 Landau 的 x 於 2 x, x 4, log x 於 的 度 的 x 4 becomes infinite in higher order of x 3 話 x4 於 x 3 x α becomes infinite in higher order of x β α > β x α 的 order of magnitude α 的 法 的 order of magnitude 題 α > 0 ex 於 α > 0 log x 於 0 法 x α x α 的 order of magnitude 法 的話 <, > O o x 的 x x 0 f(x) = O(g(x)) as x x 0 f(x) = o(g(x)) as x x 0 ϵ, M R +, s.t. x x 0 < ϵ, f(x) g(x) < M f(x) lim x x 0 g(x) = 0 1 cos x = o(x) as x 0 f(x + h) f(x) = hf (x) + o(h) as h 0 x x 0 h 的 f(x + h) f(x) hf (x) 的 於 h x 的 O 的 IV

2.2 2.2 The Martial Arts of Problem演算法導入 ソート データ構造 ハッシュ Solving The Martial Arts of Problem Solving mo n 題的 題 mo n da i mo n su ta 算 遭遇到一 問スター WIN LOSE WIN LOSE WIN LOSE WIN 基 算法 的 題 if V for 的 的題

2.3 Some Problems 演算法導入 ソート データ構造 ハッシュ 2.3 Some Problems 1. <SGU 126> 題 1 A 2 B A + B < 2147483648 1 2 2 的 最 -1 2. <no judge pure thinking> 題 A = 3 (3(3...))}n B = 9 (9(9...))}m m n 最 A 於 B (n, m 10 6 ) 3. <no judge pure thinking> 題 比 N A 的 最 B 的 PK 的 lose N, A, B 1000 4. <no judge pure thinking> 題 的 A + B A B 的 最 5. <POI18 Party> 題 3n 2n 的 題 n n n n 1000 6. <Codeforces 197A> 題 比 A B 的 R 的 A, B, R 100 7. <Codeforces 297A> 題 01 的 A B A 的 A 的 1000 10001 1001 10010 A 的 A B A, B 度 1000 VI

3. 排序演算法導入 ソート データ構造 ハッシュ 3 排序 3.1 Introduction 排序 算法 排序 題 : N 的 ( 比較 的 ) 題的 法 算法 的 算法 的 3.2 O(N 2 ) 的算法 3 sort sort 的 外 的 排 的序 1. Selection sort O(N) 的 排序 的序 的最 O(1) 排序 的序 的 於 N 複雜度 的 O(N 2 ) 算 的 sort 2. Insertion sort O(N) 排序 的序 ( ( ) 比 的 wwww) 序 排 ( O(1) ) 最 O(N 2 ) O(N) 排序 的序 3. Bubble sort 最 ( i i+1 ) Selection sort 算法 比 Selection sort 3.3 O(NlgN) 的算法 的 比 O(N 2 ) 的排序法 的 (?):O(N lg N) 排序法 3 sort Heap sort 外的 sort 的 O(N 2 ) 的 Divide & Conquer 算法 的排序法 話 序 排序 VII

3.4 題外話 : 基於比較的排序的最低複雜度演算法導入 ソート データ構造 ハッシュ 1. Merge sort 序 排序 的 法 Selection sort 的 法 最 排序 的序 O(N 2 ) O(N) 排序的最 O(1) 比 序 的最 比較 的 O(1) O(N) 複雜度 T (N) = 2 T ( N ) + O(N) = O(N lg N) 算 2 O(N) O(lg N) 複雜度 = O(N) O(lg N) = O(N lg N) 2. Quick sort Merge sort Quick sort (Pivot) 比較 的 的 比較 的 的 O(N) ( ) 排序 算法最 的 複雜度 Merge sort O(N lg N) 的 最 ( 最 ) 複雜度 T (N) = T (N 1) + O(N) = O(N 2 )( N O(N)) 法算 的 Quick sort 複雜度 Θ(N lg N) Quick sort 的 度的 Insertion sort 的 法 STL 的 std::sort() 的 Quick sort(intro sort) 3. Heap sort 算法的 的 最 的 Heap O(lg N) O(1) 最 O(lg N) 最 Heap 的培訓 3.4 題外話 : 基於比較的排序的最低複雜度 的最低複雜度 排序 序 最 的最低複雜度 ( Insertion sort O(N) ) N 排序 的 N! ( ) 比較 的 N! 2! m 比較 的 N! (2!) m N! (2!) m 1 的 於 排序的 m = O(lg N!) = O(N lg N) 最 比較的 於 O(N lg N) VIII

3.5 O(N + C) 的算法演算法導入 ソート データ構造 ハッシュ 3.5 O(N + C) 的算法 的 sort 基於比較的排序 算法 基於比較的排序 算法! 基於比較的 算法 複雜度 的 1. Counting sort (index ) 的 複雜度 O(N +C) C 2. Radix sort 排 法 的 排序 ( Counting sort) 複雜度 O((log B C) (N + B)) B 法 C 3.6 Exercises!! 的算法 排序 算法的題 排序算法 排序 法 排序算法的 1. 序 (TIOJ 1080) N( 10 5 ) 的 a (i, j) : i < j a i > a j 2. K (TIOJ 1364) 度 N 的 K O(N) K 3. Bubble sort 算 算 度 N( 10 5 ) 的 Bubble sort 排序的 4. Comiket(TIOJ 1410) N( 10 5 ) Loli i Loli s i 的 ti 的 最 的 最 Loli IX

4. Data Structure 演算法導入 ソート データ構造 ハッシュ 4 Data Structure Introduction 的 算 度 的 題 複雜 題的 的 算法的 的 的 法 的 題 的 4.1 Array 的 法 的 的 O(1) O(n) ( ) 4.2 Linked List linked list 的 的 insert erase 法 O(1) O(n) linked list (data node) 的 pointer 的 pointer 的 NULL 外 的 doubly linked list 的 pointer 的 pointer 4.3 Stack LIFO 的 stack push pop push stack 的 pop stack 的 於 "last in, first out" 的 的 的 DFS 的 4.4 Queue FIFO 的 queue enqueue dequeue enqueue queue 的 dequeue queue 的 於 "first in, first out" 的 的 ( stack ) 排 的 排的 BFS 的 X

4.5 Deque 演算法導入 ソート データ構造 ハッシュ 4.5 Deque "deck" double-ended queue 的 enqueue dequeue 4.6 Tree tree (node) (child) (parent) (root) 的 (leaf ) (binary tree) " 0 2 " 的 tree 的 排序 的 O(logn) 的 4.7 Heap heap 的 insert extract insert heap extract heap 最 ( 最 ) 的 heap 的 比較 的 insert extract O(logn) 4.8 Conclusion STL 的 stack queue deque priority_ queue 的 的 stack queue deque heap STL 的 題 4.9 Exercises 1. <Uva 514 Rails> A 1, 2, 3,... n 的 序 station 1 n 的 排 station 度 的 排 序 2. <TIOJ 1176 Cows> 度 n 的 於 的 比 的 的 3. <STEP5 0098 > 法 XI

5. Hash 演算法導入 ソート データ構造 ハッシュ 4. <TIOJ 1063 最 > n m 的 01 1 的最 5. <TIOJ 1489 > 最 a z 的 6. <STEP5 0038 的 > 度 n 的 序 A, B (n < 100000) 1. stack push& pop 的 A B? 2. 序 C A 的 法 C B 法? 序 C "-" 7. <STEP5 0020 > 的 n (4 n 5 10 5 ) 8. <HOJ 2 > N [X i, Y i ] [X a, Y a ], [X b, Y b ] X a < X b < Y a < Y b ( ) 9. <TIOJ 1637 > 的 a, b 的 度 於 a, b 度? 5 Hash Introduction n 最 的 法 序 O(n) 排序 binary search 低 O(logn) 的 " 的 " 的 n 1 的 x 序 的 x 的 序 的話 的複雜度 O(1) x 的 x 的 x 的 雜 (hash) 的 ( ) ( ) 的 XII

5.1 Hash Function 演算法導入 ソート データ構造 ハッシュ 雜 (hash function) 的 雜 (hash table) x x 雜 雜 的 x 雜 的雜 5.1 Hash Function 雜 的 L 的雜 h(x) X 0 L 1 的 的雜 法 的 hash 的雜 低 雜 5.1.1 Hash h(x) = x 法 h(x) x 的 法 L 於 X 5.1.2 Mod Hash 雜 mod L hash h(x) = x mod L h(x) = x k mod L 的 h(x) 雜 的 5.2 Collision 的 法 5.2.1 RP 的 的雜 5.2.2 Chaining 的 linked list 5.2.3 Linear Probing 的雜 h(x, i) = (h(x) + i) mod L i 0 h(x, i) 外 Quadratic Probing h(x, i) = (h(x) + c 1 i 2 + c 2 i) mod L XIII

5.3 std::map 演算法導入 ソート データ構造 ハッシュ 5.2.4 Doubly Hashing 的雜 h(x, i) = (h 1 (x) + i h 2 (x)) mod L 5.2.5 Perfect Hashing 雜 題 複雜度 O(n) 雜 雜 雜 h 1 (x) 雜 於 hash 的 的雜 h 2 (x) 雜 hash 雜 h 2 (x) 5.3 std::map map STL 的 (associative container) key value mapped value 於 的雜 5.4 Exercises 1. <TIOJ 1160 題 > n k 最 的 (0 n 100000) XIV