登入
選單
返回
Google圖書搜尋
Foundations of Computer Science
Daniel Walton
出版
Independently Published
, 2019-02-24
主題
Education / General
ISBN
179795668X
9781797956688
URL
http://books.google.com.hk/books?id=T6CeygEACAAJ&hl=&source=gbs_api
註釋
In this half-module we are going to look at designing algorithms. We will see how they depend on the design of suitable data structures, and how some structures and algorithms are more efficient than others for the same task. We'll concentrate on a few basic tasks, such as sorting and search, that underlie much of computer science, but the techniques discussed will be applicable much more generally. We will start by studying some key data structures, such as arrays, lists, queues, stacks and trees, and then move on to explore their use in a range of different searching and sorting algorithms. This will lead us on to consider approaches for the efficient storage of data in hash tables. Finally, we'll look at graph based representations and cover the kinds of algo- rithms needed to work efficiently with them. Throughout, we'll investigate the computational efficiency of the algorithms we develop, and gain intuitions about the pros and cons of the various potential approaches for each task. We will not worry about how to implement the various data structures and algorithms in particular computer programming languages (e.g., Java, C , OCaml), but specify them in simple pseudocode that can easily be implemented in any appropriate language.