Algorithms Xiaojuan Cai cxj@sjtu.edu.cn Fall semester 2016.

Slides:



Advertisements
Similar presentations
高考短文改错专题 张柱平. 高考短文改错专题 一. 对短文改错的要求 高考短文改错的目的在于测试考生判断发现, 纠正语篇中 语言使用错误的能力, 以及考察考生在语篇中综合运用英 语知识的能力. 二. 高考短文改错的命题特点 高考短文改错题的形式有说明文. 短文故事. 书信等, 具有很 强的实用性.
Advertisements

桂林市 2011 年高三第二次调研考 试质量分析暨备考教学建议 桂林市教育科学研究所 李陆桂. 二调平均分与一调、 2010 广西高考英语平均分的比较 科目 类别 英语 文科文科 2010 年广西 一调 二调 与 10 年广西相差
SAT 作文. SAT 作文与托福作文异同 SAT 作文的评分标准 SAT 作文题目分类 1 ) 人生成功类 2 ) 事物多面性 3 ) 社会历史类 4 ) 自我认知类 5 ) 其他类.
1 )正确 2 )多词 3 )缺词 4 )错词 删除 补漏 更正 “1126” 原则 “1225” 原则 “1117” 原则.
考研英语复试 口语准备 考研英语口语复试. 考研英语复试 口语准备 服装 谦虚、微笑、自信 态度积极 乐观沉稳.
[CSIE 2136](02) Algorithm Design and Analysis Prof. Michael Tsai Fall 2013 (updated 09/12/2013)
Course 1 演算法: 效率、分析與量級 Algorithms: Efficiency, Analysis, and Order
IFY Parents Meeting 3 December 年12月3日家长会
新时期高校英语专业教学的使命与挑战 石坚 成都
宏 观 经 济 学 N.Gregory Mankiw 上海杉达学院.
专题八 书面表达.
[CSIE 2136](02) Algorithm Design and Analysis
如何在Elsevier期刊上发表文章 china.elsevier.com
Today – Academic Presentation 学术报告
算法设计与分析 Algorithm Design and Analysis
高考英语复习的“边界” 山东省实验中学 宋武栋.
人类科学史上 三大工程 曼哈顿计划(原子弹) 阿波罗计划(登月) 人类基因组计划 了解人类自身,操纵生命 其意义比以上两个计划更为深远.
2012高考英语书面表达精品课件:话题作文6 计划与愿望.
The discipline of algorithms
標準本位評量的實施方法 慈濟大學教育研究所 張景媛.
視聽資料之定義 視聽資料 非書資料 多媒體資料.
Algorithms for Biological Sequence Analysis
59 中 张丽娟 学习目标: 1. 识记并理解运用 6 个单词和 5 个短语。 (source, accessible, network, access, via, create come up with, from the moment on, consist of, go down , at the.
計算機網路管理 Computer Network Administration Spring 2009
Unit 4 I used to be afraid of the dark.
Excellence in Manufacturing 卓 越 制 造
計算方法設計與分析 Design and Analysis of Algorithms 唐傳義
課務組 Curriculum Section
Introduction to Computer Graphics
Decision Support System (靜宜資管楊子青)
Course 9 NP Theory序論 An Introduction to the Theory of NP
创建型设计模式.
Mechanisms and Machine Theory.
An Introduction to Computer Science (計算機概論)
DSS #1:決策支援系統概論 一、管理與決策制定 二、資訊系統及其演進 三、決策支援系統的定義
信息产业导论期末汇报 汇报人:刁梦鸽 学号: 时间:2012年5月31日.
預備大而可畏的日子(2 of 3) 9/13/2015.
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
Formal Pivot to both Language and Intelligence in Science
Lesson 28 How Do I Learn English?
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
Try to write He Mengling Daqu Middle School.
Decision Support System (靜宜資管楊子青)
服務於中國研究的網絡基礎設施 A Cyberinfrastructure for Historical China Studies
Microsoft SQL Server 2008 報表服務_設計
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
Version Control System Based DSNs
Unit 5 Reading A Couch Potato.
Ericsson Innovation Award 2018 爱立信创新大赛 2018
Total Review of Data Structures
中央社新聞— <LTTC:台灣學生英語聽說提升 讀寫相對下降>
Cisco Troubleshooting and Maintaining Cisco IP Networks (TSHOOT)
Computational Thinking & Programming
National Taiwan University
高考应试作文写作训练 5. 正反观点对比.
系统科学与复杂网络初探 刘建国 上海理工大学管理学院
第三十一單元 拉格蘭吉乘數.
Unit 1 School life 走进高考·文化品格渗透.
高中书面表达训练.
5. Combinational Logic Analysis
專業倫理 (Professional Ethics) 2008 FALL SEMESTER (N3)
11 Overview Cloud Computing 2012 NTHU. CS Che-Rung Lee
怎樣把同一評估 給與在不同班級的學生 How to administer the Same assessment to students from Different classes and groups.
Arguments to the main Function and Final Project
Operating System Software School of SCU
如何在Elsevier期刊上发表文章 china.elsevier.com
以分为镜知对错 以卷为鉴晓得失 —邯郸市一模得与失
LIU Lei Shanghai Center for Bioinformation Technology 03/05/2013
Pattle Pun. Professor of Biology emeritus, Wheaton College, IL
Presentation transcript:

Algorithms Xiaojuan Cai cxj@sjtu.edu.cn Fall semester 2016

Course Overview Why study Algorithms Outline of the course Course Polices 12/8/2018 Xiaojuan Cai

What is Algorithm? The word ‘algorithm’ is derived from the name of Roman numerals, Arabic numeral, invented in India, but the most influential medium of transmission turned out to be a textbook, written in Arabic in the ninth century by Al Khwarizmi who lied in Baghdad. He laid out the basic methods for adding, multipl and dividing numbers. http://en.wikipedia.org/wiki/File:Abu_Abdullah_Muhammad_bin_Musa_al-Khwarizmi_edit.png Muḥammad ibn Mūsā al-Khwārizmī (780?-850?) a Muslim mathematician whose works introduced Arabic numerals and algebraic concepts to Western mathematics. (American Heritage Dictionary) 12/8/2018 Xiaojuan Cai

What is Algorithm? An algorithm is a procedure that consists of a finite set of instructions which, given an input from some set of possible inputs, enables us to obtain an output through a systematic execution of the instructions that terminates in a finite number of steps. 12/8/2018 Xiaojuan Cai

An example Problem: Sorting Input: A sequence of n numbers <a1, a2, …, an>. Output: A permutation (reordering) <a1’, a2’, …, an’>. of the input sequence such that a1’≤ a2’ ≤ … ≤ an’ An algorithm describes a specific computational procedure for achieving the input/output relationship. An instance of a problem consists of the input needed to compute a solution to the problem. An algorithm is said to be correct if, for every input instance, it halts with the correct output. 12/8/2018 Xiaojuan Cai

Why study Algorithms? What kind of problems are solved by algorithms? The Human Genome Project Internet: routing, searching engine Electronic commerce: public-key cryptography Manufacturing: resource-allocating Map, navigation Similarity of DNA sequences Convex hull … HGP has made great progress toward the goals of identifying all the 100,000 genes in human DNA, determining the sequences of the 3 billion chemical base pairs that make up human DNA, storing this information in databases, and developing tools for data analysis 12/8/2018 Xiaojuan Cai

“Computer Science is the study of algorithms.” Why study Algorithms? 1. Their impact is broad and far-reaching. Internet, Biology, Computers, Computer graphics, Security, Multimedia, Physics ...... Internet. Web search, packet routing, distributed file sharing, ... Biology. Human genome project, protein folding, ...Computers. Circuit layout, file system, compilers, ...Computer graphics. Movies, video games, virtual reality, ...Security. Cell phones, e-commerce, voting machines, ...Multimedia. MP3, JPG, DivX, HDTV, face recognition, ...Social networks. Recommendations, news feeds, advertisements, ...Physics. N-body simulation, particle collision simula “Computer Science is the study of algorithms.” -- Donald E. Knuth 12/8/2018 Xiaojuan Cai

“ Algorithms + Data Structures = Programs. ” Why study Algorithms? 2. to become a proficient programmer “ Algorithms + Data Structures = Programs. ” -- Niklaus Wirth The Art of Computer programming. After producing the third volume of his series in 1976, he expressed such frustration with the nascent state of the then newly-developed electronic publishing tools (especially those that provided input to phototypesetters) that he took time out to work on typesetting and created the TeX and METAFONT tools Niklaus Wirth: Algo W, Euler, Pascal, Modula, Oberon “Bad programmers worry about the code. Good programmers worry about data structures and their relationships. ” -- Linus Torvalds 12/8/2018 Xiaojuan Cai

Why study Algorithms? 3. For intellectual stimulation, be a wise person “有人天生喜欢“遍历”,踏遍千山万水,遍享万种风情...... 有人一生“贪婪”,眼界不宽,及时行乐; 有人注定适用“穷搜”,辛辛苦苦勤勤恳恳一辈子,付出很多,收获有限; 有人善用“时空权衡”,用最少的时间办最多的事情,的确精明; 有人会“分治”,再多的难题也能迎刃而解; 有人常“回溯”,错的太多,后悔太多; 有的人压根没有算法,于是盲目生活,盲目做事,最后所获无几;……” --- 邹恒明 《算法之道》 12/8/2018 Xiaojuan Cai

4. For profit 12/8/2018 Xiaojuan Cai

Why study anything else? Why study Algorithms? Why study anything else? 1. Their impact is broad and far-reaching. 2. to become a proficient programmer. 3. For intellectual stimulation, be a wise person 4. For profit 5. Old roots, new opportunities. 6.They may unlock the secrets of life and of the universe. ...... (Source from “Algorithms” by R. Sedgewick and K. Wayne) 12/8/2018 Xiaojuan Cai

Where are we? Why study Algorithms Outline of the course Course Polices 12/8/2018 Xiaojuan Cai

References 1. Algorithms: Design Techniques and Analysis, M.H. Alsuwaiyel 2. Introduction to Algorithms, T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein 3. Algorithms, S, Dasgupta, C. Papadimitriou, U. Vazirani 4. Algorithms, 4th edition, R. Sedgewick, K. Wayne 12/8/2018 Xiaojuan Cai

Course Overview 12/8/2018 Xiaojuan Cai

Course goals To become proficient in the application of fundamental algorithm design techniques To gain familiarity with the main theoretical tools used in the analysis of algorithms To study and analyze different algorithms for many of “standard” algorithmic problems To introduce students to some of the prominent subfields of algorithmic study in which they may wish to pursue further study 12/8/2018 Xiaojuan Cai

Where are we? Why study Algorithms Outline of the course Course Polices 12/8/2018 Xiaojuan Cai

Grading Policy Homework 25% Programming assignment 15% Final exam 60% Distributed on course website after every lecture Submit every Tuesday Programming assignment 15% LeetCode (http://leetcode.com) Final exam 60% 12/8/2018 Xiaojuan Cai

TAs Homepage: http://basics.sjtu.edu.cn/~xiaojuan/algo16/ TAs  Chunmiao Li (李春淼), lichunmiao@sjtu.edu.cn Ruoyu Wang (王若愚), babyfish92@163.com Homepage: http://basics.sjtu.edu.cn/~xiaojuan/algo16/ 12/8/2018 Xiaojuan Cai

More on LeetCode Submission: Due on every Saturday night: 23:59 One student will be selected (randomly) to be report your solution (in 5 minutes) on Tuesday. 12/8/2018 Xiaojuan Cai

Teaching techniques One-minute paper Group teaching Final score = score + 3 (bonus) 12/8/2018 Xiaojuan Cai

Voices from senior students 算法是用来娱乐身心、课余刷题、公司面试、学会使用编程思想来看待各种问题的课程 用心学算法,很有意思的,这是程序员的内力修为,别太在意考试面试 坚持到期末 算法无论从哪个次元来看都是程序员的基础。 好好听课,不然会对自己失去信心。 这是我在软院上过最有意思最有收获的一门课。 算法很重要,但更重要的是思想。或许将来我们不会用到今天学习的算法,但是某个算法的思想会帮我们解决很多实际问题。 大神们请低调,给学渣们活路啊! 还是从被窝里爬起来吧,对找工作还是很重要滴 … 12/8/2018 Xiaojuan Cai

Enjoy! 12/8/2018 Xiaojuan Cai