第一话:你的数据结构怎么学的?
2012-06-06 00:00
573 查看
数据结构的概念:是相互之间存在一种或多种特定关系的数据元素的集合。
今天我听同事讲了一个故事,听完之后对自己的数据结构功底也有点没底了……
什么故事那么惊悚?
有个人叫“小菜”,学生时,其实根本就没好好学数据结构,时常逃课,考试也是临时突击后勉强及格。毕业后,他几经求职,算是找到了一份程序员的工作。
工作中,有一次他们需要开发一个客服电话系统,他们项目经理安排小菜完成客户排队模块的代码工作。小菜觉得这个很容易,用数据库设计了一张客户排队表,并且用一个自动递增的整型数字作为客户的编号。只要来一个客户,就给这张表的末尾插入一条数据。等客服系统一有空闲,就从这张表中取出最小编号的客户提交,并且删除这条记录。花了两天时间,他完成开发并测试通过后,得意地提交了代码。谁知他们的项目经理,看完代码后,跑到他的桌前,拍着桌子对他说:“你数据结构怎么学的?这种实时的排队模块,用什么数据库呀,在内存中完成不就行了吗。赶快改,今天一定要完成,明天一早交给我
小菜吓得一身冷汗,这脸丢得有些大了,自己试用期都没结束,别因此失去工作。于是他当天加班加点,忙到晚上十一点,用数组变量重新实现了这个功能,因为考虑到怕数组不够大而溢出,于是他设计100作为数组的长度。
回到家中,他害怕这个代码有问题,于是就和他的表哥大鸟说起了这个事。他表哥笑嘻嘻地对他说:“你数据结构怎么学的? ”小菜惊讶地张着大口,一句话也说不出来。然后他表哥告诉他,这种实时的排队系统,通常用数据结构中的“队列结构”是比较好的,用数组虽然也可以,但是又要考虑溢出,又要考虑新增和删除后的数据移动,总的说来很不方便。你只要这样……这样……就可以了。
小菜在大鸟的帮助下,忙到凌晨3点,重新用队列结构又写了一遍代码,上班时用U盘拷回公司,终于算是过了项目经理这一关。
之后,小菜开始重视数据结构,找回大学的课本重新学习。
这故事确实很有教育意义。我做Web开发做很久了,其实用数据结构也用得不多呢。那么,你想干什么?
像他一样,拿回大学的数据结构书,重新补习!
嗯,其实我也有这个想法,很久之前就有了,那么今天开始我跟你一起补习下数据结构吧。
两人的数据结构之旅开始了……
PS:故事来自大话数据结构。
第一话:你的数据结构怎么学的?
第二话:数据结构的历史与来由
第三话:关于数据结构的一些概念
第四话:数据的逻辑结构
第五话:数据的物理结构
第六话:关于数据类型
第七话:抽象数据类型ADT
第八话:补充数据结构基本概念的关系
第九话:数据结构与算法的关系
第10话:什么是算法?
第11话:算法的五个基本特征
第12话:什么样的算法才是好算法
第13话:算法的性能分析
第14话:如何计算算法的时间复杂度
第15话:算法的最坏情况与平均情况
第16话:算法的空间复杂度
今天我听同事讲了一个故事,听完之后对自己的数据结构功底也有点没底了……
什么故事那么惊悚?
有个人叫“小菜”,学生时,其实根本就没好好学数据结构,时常逃课,考试也是临时突击后勉强及格。毕业后,他几经求职,算是找到了一份程序员的工作。
工作中,有一次他们需要开发一个客服电话系统,他们项目经理安排小菜完成客户排队模块的代码工作。小菜觉得这个很容易,用数据库设计了一张客户排队表,并且用一个自动递增的整型数字作为客户的编号。只要来一个客户,就给这张表的末尾插入一条数据。等客服系统一有空闲,就从这张表中取出最小编号的客户提交,并且删除这条记录。花了两天时间,他完成开发并测试通过后,得意地提交了代码。谁知他们的项目经理,看完代码后,跑到他的桌前,拍着桌子对他说:“你数据结构怎么学的?这种实时的排队模块,用什么数据库呀,在内存中完成不就行了吗。赶快改,今天一定要完成,明天一早交给我
小菜吓得一身冷汗,这脸丢得有些大了,自己试用期都没结束,别因此失去工作。于是他当天加班加点,忙到晚上十一点,用数组变量重新实现了这个功能,因为考虑到怕数组不够大而溢出,于是他设计100作为数组的长度。
回到家中,他害怕这个代码有问题,于是就和他的表哥大鸟说起了这个事。他表哥笑嘻嘻地对他说:“你数据结构怎么学的? ”小菜惊讶地张着大口,一句话也说不出来。然后他表哥告诉他,这种实时的排队系统,通常用数据结构中的“队列结构”是比较好的,用数组虽然也可以,但是又要考虑溢出,又要考虑新增和删除后的数据移动,总的说来很不方便。你只要这样……这样……就可以了。
小菜在大鸟的帮助下,忙到凌晨3点,重新用队列结构又写了一遍代码,上班时用U盘拷回公司,终于算是过了项目经理这一关。
之后,小菜开始重视数据结构,找回大学的课本重新学习。
这故事确实很有教育意义。我做Web开发做很久了,其实用数据结构也用得不多呢。那么,你想干什么?
像他一样,拿回大学的数据结构书,重新补习!
嗯,其实我也有这个想法,很久之前就有了,那么今天开始我跟你一起补习下数据结构吧。
两人的数据结构之旅开始了……
PS:故事来自大话数据结构。
延伸阅读
此文章所在专题列表如下:第一话:你的数据结构怎么学的?
第二话:数据结构的历史与来由
第三话:关于数据结构的一些概念
第四话:数据的逻辑结构
第五话:数据的物理结构
第六话:关于数据类型
第七话:抽象数据类型ADT
第八话:补充数据结构基本概念的关系
第九话:数据结构与算法的关系
第10话:什么是算法?
第11话:算法的五个基本特征
第12话:什么样的算法才是好算法
第13话:算法的性能分析
第14话:如何计算算法的时间复杂度
第15话:算法的最坏情况与平均情况
第16话:算法的空间复杂度
相关文章推荐
- 昂达平板电脑怎么进bios设置u盘为第一启动盘?
- EXCEL表格中,第一、第二行看不到了怎么办
- 数据结构~新学期寄予~你怎么知道我被翁凯虐惨了
- “古今第一美男子”是怎么掉了脑袋的
- Unity中导入的模型,第一(三)人称可以穿插模型,该怎么解决?
- 《数据结构》实验二: 线性表实验--------------第一题
- 数据结构第一题线性表的各种操作SqList
- 山东大学软件学院数据结构课程设计第一题python实现
- 笔记--《谷歌和亚马逊是怎么做产品的》第一至三章
- 《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?
- 数据结构程序设计 第一题
- 数据结构当中的图怎么都弄不懂怎么办?
- 网站系统之咨询(网奇行业门户)(如此做法怎么能对的起“中国建站第一品牌”)
- 【数据结构】----平衡二叉树怎么自己画?
- 先发布第一题试试怎么用(跳台阶)
- 百度笔试题2005题目大致是这样的: 第一部分选择题: 有几道网络相关的题目,巨简单,比如第一题是TCP、RIP、IP、FTP中哪个协议是传输层的......。有一道linux的 chown使用题目。其他的全是数据结构的题目!什么链,表
- 《数据结构》第一章节同学提问23到44楼参考答案
- 怎么在echarts官网中查看实例的json数据结构
- 印度成出海第一站 香饽饽该怎么啃
- 数据结构怎么玩目录