Created
January 8, 2017 03:22
-
-
Save sodabear/5fbdd6d7325d838bf3abf9898f25a5ca to your computer and use it in GitHub Desktop.
什么是数据结构
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
什么是数据结构 | |
1 什么是数据结构? | |
数据结构是组织数据的方式,这样可以让复杂程序得以高效运行. | |
如果你看到这里就懂了的话可以直接跳到2,3,4,不然的话可以看下面这个类比 | |
如果说程序就是给定一个输入,返回一个输出 | |
那我们可以假设我有一个程序叫 旅游计划 | |
那么输入就是出发地和目的地,那么输出就是可以或者不可以,其实输出还可以是 | |
其他的情况,这是这里我们暂且用个简单的 | |
用python的语言来说就是 | |
def travel_plan(出发地,目的地): | |
计划中.... | |
如果可行: | |
return T | |
不然 | |
return F | |
根据不同的目的地我们选择工具也不同: | |
比如去近一些的地方比如出门吃饭,我们就骑车就好了,远些的地方我们就需要坐飞机, | |
去近一点的地方,我们也可以坐飞机,比如从南湾来伯克利,但是坐飞机很贵,开车很便宜。 | |
去旅游的话 我们可以走路[不用交通工具],骑车,可以做车,可以坐船,可以坐飞机... | |
到底选哪个呢? | |
这个时候我们要对时间和花费进行权衡. | |
看到这里你应该知道数据结构就是类比的这些交通工具,走路就是不用数据结构。 | |
总结的话,如果不用交通工具你也可以从中国去美国【花费为0】,但是 | |
借助飞机的话你会来的更快更舒服【花费最贵】,当然你很闲的话,你也可以坐车,骑车来美国.. | |
要写大的程序,类比的『去美国』,你就需要一些数据结构帮助你组织数据. | |
这样你的程序才会更快。 | |
2. 数据结构可以做什么? | |
大部分的数据结构做的事情可以归纳为以下几种 | |
insert:存储 | |
get:拿出 | |
delete:删除 | |
search:查找 | |
不同的他们花费是(时间)时间 和(花费)空间 不同. | |
而且各有各自的优点 | |
3. 数据结构在哪里? | |
数据结构活在内存中.程序结束之后就消失了. | |
4. 举个例子吧 | |
常见的数据结构有 | |
array | |
linkedlist 一般用linkedlist这个来实现 stack,queue | |
hashtable/dictionary | |
Tree | |
Graph |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment