1.2 你数据结构怎么学的?
        早先我有一个学生叫蔡遥,绰号“小菜”。他前段时间一直通过E-mail与我交流,其中说起了他工作的一些经历,感慨万千。我在这里就讲讲小菜的故事。
        他告诉我,在做我学生时,其实根本就没好好学数据结构,时常逃课,考试也是临时突击后勉强及格。毕业后,他几经求职,算是找到了一份程序员的工作。
        工作中,有一次他们需要开发一个客服电话系统的项目,他们项目经理安排小菜完成客户排队模块的代码工作。
        小菜觉得这个很容易,用数据库设计了一张客户排队表,并且用一个自动递增的整型数字作为客户的编号。只要来一个客户,就给这张表的末尾插入一条数据。等客服系统一有空闲,就从这张表中取出最小编号的客户提交,并且删除这条记录。花了两天时间,他完成开发并测试通过后,得意地提交了代码。谁知他们的项目经理,看完代码后,跑到他的桌前,拍着桌子对他说:“你数据结构怎么学的?这种实时的排队模块,用什么数据库呀,在内存中完成不就行了吗。赶快改,今天一定要完成,明天一早交给我。”
        小菜吓得一身冷汗,这脸丢得有些大了,自己试用期都没结束,别因此失去工作。于是他当天加班加点,忙到晚上十一点,用数组变量重新实现了这个功能,因为考虑到怕数组不够大溢出,于是他设计100作为数组的长度。
        回到家中,他害怕这个代码有问题,于是就和他的表哥大鸟说起了这个事。他表哥笑嘻嘻地对他说:“你数据结构怎么学的?”小菜惊讶地张着大口,一句话也说不出来。然后他表哥告诉他,这种实时的排队系统,通常用数据结构中的队列结构是比较好的,用数组虽然也可以,但是又要考虑溢出,又要考虑新增和删除后的数据移动,总的说来很不方便。你只要这样……这样……就可以了。
        小菜在大鸟的帮助下,忙到凌晨3点,重新用队列结构又写了一遍代码,上班时用U盘拷回公司,终于算是过了项目经理这一关。
        之后,小菜开始重视数据结构,找回大学的课本重新学习。他还给我发了好些邮件,问了我不少他困惑的数据结构和算法的问题,我也一一给了他解答。终于有一天,他学完了整个课程的内容,并给我写了一封感谢信,信中是这么说的:
        “封老师:您好!感谢您这段时间的帮助,在大学时没有好好上您的课真是我最大的遗憾。我现在已经学完了《数据结构》整本书的内容,收获还是很大的。可是我一直有这样的困惑想请教您,那就是我在工作中发现,我所需要的如栈、队列、链表、散列表等结构,以及查找、排序等算法,在编程语言的开发工具包中都有完美的实现,我只需要掌握如何使用它们就可以了,为什么还要去弄懂这里面的算法原理呢?”
        我收到这封信时,立马跳了起来,马上拨通了他的手机,第一句话就是……你们猜猜看,我说了啥?
        “你数据结构怎么学的?”(全场同学齐声大喊,大笑)
        好了,我为什么这么讲,等你们学完我的课程就自然会明白。我只希望在将来,不要有某个人也对你们说出这句话,如果当真听到了这句话,就拜托你不要说,你的数据结构老师是我封清扬,嘿嘿。

现在我们正式开始上课。

出处:http://www.cnblogs.com/cj723/archive/2011/02/24/1963774.html

《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?相关推荐

  1. java数据结构 第4章-链表(双向链表)

    文章目录 4.4 双向链表应用实例 4.4.1双向链表的操作分析和实现 1.管理单向链表的缺点分析: 2.分析 双向链表的遍历,添加,修改,删除的操作思路 3.双向链表的代码实现 4.代码运行结果 4 ...

  2. 大话数据结构 摘录 第一章 数据结构绪论

    文章目录 启示:数据结构 学习数据机构的重要性 数据结构引发的案例 数据结构的起源 程序设计=数据结构+算法 基础概念与术语 数据 数据元素 数据项 数据对象 数据结构 数据结构:是相互之间存在一种或 ...

  3. 《大话数据结构》样章试读

    <大话数据结构>样章试读 各位童鞋,<大话数据结构>从写作到出版,虽然经历了一些坎坷,但终于还是在今天正式在一些网店发售了.现在提供两章的完整版试读PDF文件,希望能给您有所 ...

  4. 《数据结构(C语言版)》严巍敏课件~第一章:绪论

    <数据结构(C语言版)>严巍敏课件-第一章:绪论

  5. 数据结构第1章绪论相关练习题

    第1章     绪论 一.选择题 1. 算法的计算量的大小称为计算的(  B  ) A.效率          B. 复杂性       C. 现实性           D. 难度 2. 算法的时间 ...

  6. 高一凡-数据结构第1章-绪论

    高一凡-数据结构第1章-绪论 1.1三元组抽象数据类型Triplet 1.初始化InitTriplet 2.销毁三元组DestoryTriple 3.获取元素值Get 4.指定赋值Put 5.检查升序 ...

  7. 数据结构笔记(王道考研) 第一章:绪论

    大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,该课属于付费课程(不过盗版网盘资源也不难找...).后续又根据23年考研的大纲对内容做了一些调整,将二叉排序树和平衡二叉树的内容挪到 ...

  8. 大话数据结构 第七章 图(二) 最小生成树、最短路径、拓扑排序、关键路径算法

    大话数据结构 第七章 图(二) 最小生成树.最短路径.拓扑排序.关键路径算法 最小生成树 定义 Prim算法 Kruskal算法 最短路径 Dijkstra算法 Floyd算法 拓扑排序 AOV网 拓 ...

  9. 数据结构学习之路-第一章:绪论

    出处:http://blog.csdn.net/libin1105/article/details/47935379 正如很多专业教材一样,绪论是少不了的,自然这本书也不例外. 绪论中概括了我们整本书 ...

  10. 【算法基础】数据结构导论第二章-线性表.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布:数据结构导论第一章-绪论 本文参考百度文库的多篇文章. 如需下载ppt文件,请回复"sjjg2" ppt有动画效果.

最新文章

  1. 信道划分介质访问控制
  2. SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
  3. 修理机器人基维斯_魔兽世界修理机器人沃尔特和移动邮箱怎么做
  4. 查看Linux系统基本信息CPU内存系统负载
  5. php里注册管理员账号,WordPress中创建用户角色的相关PHP函数使用详解
  6. 前缀 中缀 后缀表达式
  7. HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统
  8. 移动web开发(一)——移动web开发必备知识
  9. Java学习的5个阶段,助大家步步攀升
  10. 【系列7】使用Dockerfile创建带mysql的Centos Docker镜像
  11. wpf datagrid 计算两个列的差值_天体到达指定方位角的时间计算
  12. 【车间调度】基于matlab差分进化算法求解作业车间调度问题【含Matlab源码 1743期】
  13. hdoj1087:Super Jumping! Jumping! Jumping!(dp基础题-最大上升子序列和(可不连续))
  14. 微软应用商店_重新安装微软应用商店,并解决无法联网的问题
  15. 阵列信号处理 窄带信号与包络
  16. LintCode 交叉字符串
  17. 建立城市安防系统 打造更安全智慧城市
  18. 华为 linux文件系统,华为EROFS文件系统是什么
  19. JAVA IO ---------- File类(转自 skywang12345)
  20. 工厂方法模式练习:工厂方法模式在农场系统中的实现(IDEA)

热门文章

  1. 深入理解分布式技术 - 服务注册与发现背后的逻辑
  2. Spring-引用Bean的属性值
  3. php 会议签到系统_人脸识别会议签到系统有哪些优点?
  4. 机器视觉-特征点检测:【2】Harrs角点检测原理
  5. 前端基础知识整理汇总(上)
  6. 2021-03-16 汽车二自由度操纵稳定性 Matlab simulink
  7. mysql parameters_MySqlCommand Command.Parameters.Add已过时
  8. mysql性能分析工具profiling_Mysql系列(十)—— 性能分析工具profiling
  9. OpenCV-图像几何变换:旋转,缩放,斜切 .
  10. 第五天2017/04/06(上午:文件的“读写操作”)