数据、结构、算法

来源:互联网 发布:韩国大尺度电影知乎 编辑:程序博客网 时间:2024/06/15 16:00

大学期间的一本蓝色为主色调的课本,长宽约20*13厘米,封面中央赫赫立着“数据结构”四个大黑字。犹记第一节课,老师看着这本书,然后又看看讲台下的我们,意味深长地说“这是一门基础课,重要的基础课,虽然你们现在可能不能完全理解…”。那时,我深信老师说的“数据结构很重要”,但是我那颗小小的心中老是会噗噗冒出“不是所有人都能理解,但是我能”的自信感。~~,每每回头瞅瞅这门知识的时候,都感觉到了需要自信,也需要踏实细节。

不同时期对于“数据结构与算法”可能会有不同深度、不同层次的理解与扩展。我想一个一个来说“数据”、“结构”,“算法”。


数据

“我[C]”可以是一个数据,“小左[L]”、“小右[R]”、“小尚[T]”、“小夏[B]”都是数据

“C爱吃的琵琶”、“C喜欢的书籍”、“C常做的运动”… 都是数据

“C,“C爱吃琵琶”,“C喜欢看村上春树的小说”,“C经常做的运动是瑜伽”…”这个对象也是一个数据
{
name: “C”,
hobby: [“琵琶”,”村上春树”,”瑜伽”],
eat: function(){},
motion: function(){}
}

数据 就是我们的研究对象,我们可以研究自己、他人、一群人、一类人、一朵花、一簇花…


结构

C与L、R、T、B都是同学关系,平等友爱的集合结构

C和L是同事关系,T是我们的组长,分明的树结构

C和“小稻”是密友,“小稻”和R也是密友,C和R也是密友,R和“大左”是密友… ,神秘有趣的图结构

C和“小稻”、R去买面包,排队结账,C是第一个,后面是“小稻”,最后是R, 规矩乖乖有礼貌的线性结构

“大稻”这个人:

  爱好:有颜色的小物件、村上春树、瑜伽、软软干净的草坪上睡觉【集合】

  亲人:哥哥、姐姐、爸爸、妈妈、爷爷、侄女【树】

  专业:web前端开发工程师

  业余:画画、写作 【开发、画画、写作 互相关联促进:图】【开发工作做好了 - > 画画、写作: 线性】

关于“树结构”的一点反思

  有很多叶子的树,一下子会吓住一些人去认识她。刚开始也觉得她不好描述,深且杂。

  描述一棵树的时候就去描述她的叶子、枝干、根。这又有什么难的呢?只是被“树的表象、树的概念所牵制住了” 。

  正如我要写一个人物,就去观察她的眼睛、鼻子、皮肤、手、衣着、声音、动作、朋友、家人….然后写出来

  正如我要画一朵花,就去观察花瓣、花蕊、花杆、花的颜色、花的香味、然后画出来


算法

有一群小朋友,按照身高从高到低排,怎么操作? 【大家可能都经历过的场景】

情境一:

操场上一排一排的小朋友,排之间只有一人距离,3年级的男生一排还没有排好。
老师说“以中间小稻同学为中心,第一个同学开始,如果比稻矮就不动并且举手报告;最后一个同学开始,如果比稻高就不动且举手报告,
然后这两个同学交换位置,前后比较到稻同学时,稻同不要动,稻以前的同学为一队,稻以后的同学为另一对,开始之前同样的比较交换,同学们!明白了吗?”

“老师,我们不明白。。。明白。。”~~小同学们呼叫着。

情境二:

操场上,3年级7班的同学们在上体育课,有几个调皮的男生迟到打闹,老师将他们单独叫到一个空旷的地方,

“按照身高从高到低排队,开始,马上!”

有很多经典高效的算法,如何选择呢?

关键要做的是什么?

了解你的研究对象是什么样子的?【数量、顺序、规律、稳定性、所处环境。。。】
将对象放在具体的情境故事中,增加五感信息,分析、想象、抽象 —> 本质 【过滤出本质要素】

平时工作中的场景呢……?

原创粉丝点击