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

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

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

一、什么是数据结构

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

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

二、数据结构能干什么

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

三、为什么学习数据结构

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

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

四、基本数据结构

基本数据结构有如下几类

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

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

线性表:

栈:

队列:

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

二位数组:

树:

二叉树:

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

【插件开发】—— 6 SWT 复杂控件使用以及布局

前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图 4 SWT编程须知 5 SWT简单控件的使用与布局搭...

2349
来自专栏王磊的博客

MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql....

3629
来自专栏田超学前端

【微信小程序】c# 实现获取openid、session_key 服务端

5140
来自专栏james大数据架构

CSS好看的按钮

好看的按钮 <style> .btn { BORDER-RIGHT: #7b9ebd 1px solid; PADDING-RIGHT: 2px; BORDE...

2007
来自专栏跟着阿笨一起玩NET

treeview 绑定文件夹和文件

461
来自专栏大内老A

开发自己的Data Access Application Block[下篇]

上接:[原创] 我的ORM: 开发自己的Data Access Application Block - Part I 4. Database 下面来介绍重中之重...

2246
来自专栏码匠的流水账

zuul自定义SimpleHostRoutingFilter

zuul的SimpleHostRoutingFilter主要用来转发不走eureka的proxy,里头是使用httpclient来转发请求的,但是有时候我们需要...

1292
来自专栏技术之路

sqlserver 的事务和c#的事务

sql的事务 1 sql 2 create database model 3 go 4 use model 5 go 6 create table ...

1929
来自专栏hbbliyong

socket 通信 多线程调用窗体(委托)的几个知识点,记录在案,以备查阅

1.socket 通信传输汉字的方法:Encoding.GetEncoding("GB2312").GetString(Receivebyte) 发送接收都这样...

2737
来自专栏我和未来有约会

Silverlight制作逐帧动画 v2 - part2

Silverlight制作逐帧动画 v2 - part2 在这里完善了一下算法,加入了fps的机制进去。 private string[] ...

1896

扫码关注云+社区