Skip to content

Instantly share code, notes, and snippets.

@sodabear
Created January 8, 2017 03:22
Show Gist options
  • Save sodabear/5fbdd6d7325d838bf3abf9898f25a5ca to your computer and use it in GitHub Desktop.
Save sodabear/5fbdd6d7325d838bf3abf9898f25a5ca to your computer and use it in GitHub Desktop.
什么是数据结构
什么是数据结构
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