【基础编程】侃侃数据结构与算法-扯扯概念

为啥扯淡,因为我们开发人员很少用到它,目前流行的android开发有数据结构么?没有,至少你在用api的时候基本上是看不见的。c++有在STL基本容器中string, vector, list, deque, map等。人家都已经实现且以近完美,我们学它有啥用有必要吗?

这个争论由来已久,很多人认为,只要掌握几种开发工具,熟悉api就是编程高手,其实这是种误解。要想成为一个专业的开发人员,仅前面这点东西是不够的。充其量就是一个编码高手。

一、什么是数据结构

还是老一套生活中的例子,你上学吧,你高考吧,是不是有姓名,性别,年龄,户口等。这些信息就构成一个小的数据结构。这些东西要如何存放在计算机中,各个结构间有什么关系,对整体有那些需要操作。比如查询,删除呀,怎么存储操作效率会高效呀,这就是数据结构。

通俗理解,数据相对于书,数据结构相当于书架。要取得书就在书架上面取,为了更快的取到想要的书,书架可能分在N个格子,不同种类的书放在不同的格子里面。

二、数据结构能干什么

至于数据结构能干什么... 知道了人体结构就可以进行解剖了,当然你也可以研究怎么更快的杀死一个人,或者制伏一个人,或者造一个人,或者画一个人,总之, 它能干什么, 不在于它是什么, 而在于"你想干什么"。

三、为什么学习数据结构

咱们学习数据结构可不是为了杀死一个人,造一个人。原因很简单它能让是你的程序变得更优(运算更快,占用资源更少)如果把程序看成一辆汽车,那么程序语言就构成了这辆车的车身和轮胎。而算法则是这辆车的核心——发动机(中国汽车发动机不行因为他们不懂数据结构)。这辆车跑得是快是慢,关键就在于发动机的好坏(当然轮胎太烂了也不行),而数据结构就是用来改造发动机的。

还有就是逼格够高,你懂的......

四、基本数据结构

基本数据结构有如下几类

我们介绍几种常用的结构先就着图留个印象

常用的线性结构有:线性表,栈,队列,数组,串。

线性表:

栈:

队列:

非线性结构:二维数组,多维数组,树(二叉树等),广义表,图。

二位数组:

树:

二叉树:

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

R语言爬虫初尝试-基于RVEST包学习

在学完coursera的getting and Cleaning data后,继续学习用R弄爬虫网络爬虫。主要用的还是Hadley Wickham开发的rves...

3353
来自专栏程序人生

代码命名:僧敲月下门

忽一日於驴上吟得:‘鸟宿池中树,僧敲月下门。’初欲著‘推’字,或欲著‘敲’字,炼之未定,遂于驴上作‘推’字手势,又作‘敲’字手势。 - 《鉴戒录·贾忤旨》 两句...

2737
来自专栏企鹅号快讯

两种编程高手

第一种工程师 给一段复杂的程序,比如有7个局部变量,5层循环和if嵌套,他能赤手空拳上阵,迅速领会程序意图、找到bug,不用借助任何工具甚至纸笔。 给一个复杂的...

1835
来自专栏企鹅号快讯

高级语言,高级在哪?

高级语言、低级语言,都是对计算机而言。人类语言不存在这种说法。 在上篇文章(一分钟认识你的电脑)中,柚子向大家介绍了内存。 内存的最小单位是bit,二进制表示,...

17810
来自专栏Spark学习技巧

第5篇:数据库系统的实现

前言 前面的文章中,主要都是在围绕关系数据库理论进行研究,没有涉及到数据库系统的具体实现。 虽说数据库系统的具体实现因业务环境,RDBMS等因素而异,但总体开发...

2817
来自专栏Java成神之路

WEB前端开发成长指南

小 编注:相比起网页射击狮,操纵代码的前端攻城狮凭着双手在键盘巴拉巴拉敲出的字符,就能赋予二次元的静态页面生命,各种lovely 的~~fabulous的~~e...

703
来自专栏程序人生

抽象的能力

人类的智商从低幼逐渐走向成熟的标志之一就是认识和运用数字的能力。当我们三四岁的时候,数数虽然能够熟练地对一百以内的数字随心所欲地倒背如流,但数字对孩童时代的我们...

3257
来自专栏数据小魔方

条形图组(辅助序列法)

今天跟大家分享的图表是条形图组(辅助序列法)! ▽▼▽ 这个图表曾在之前的条件格式条形组图中介绍过。不过使用的工具不同,之前那个使用条件格式做成的,今天教大家使...

3329
来自专栏牛客网

个人的前端面经,回馈社会

酷家乐(10-20k) 电话一面 三十五分钟 如何学习前端,看了什么书 谈实习经历 谈项目,问为什么用那么多插件,有没有想过自己写 position有几个属性 ...

3165
来自专栏用户画像

实验3.2 复杂的单表查询

熟练掌握SELECT查询语句中的Group by 子句、Having子句的用法,以及汇总函数的使用。

683

扫描关注云+社区