首页 > 代码库 > 数据、结构、算法

数据、结构、算法

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

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

 

数据

“我”可以是一个数据,“小左”、“小右”、“小尚”、“小夏”都是数据

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

“"我",“爱吃琵琶”,“喜欢看村上春树的小说”,“经常做的运动是瑜伽”...”这个对象也是一个数据

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

 

结构

“我”与“小左”、“小右”、“小尚”、“小夏”都是同学关系,平等友爱的集合结构

“我”和“小左”是同事关系,“小尚”是我们的组长, 分明的树结构

“我”和“小稻”是密友,“小稻”和“小右”也是密友,“我”和“小右”也是密友,“小右”和“大左”是密友...  ,神秘有趣的图结构

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

 

“大稻”这个人:

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

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

  专业:web前端开发工程师

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

 

算法

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

情境一:

操场上一排一排的小朋友,排之间只有一人距离,3年级的男生一排还没有排好。

老师说“以中间小稻同学为中心,第一个同学开始,如果比稻矮就不动并且举手报告;最后一个同学开始,如果比稻高就不动且举手报告,

然后这两个同学交换位置,前后比较到稻同学时,稻同不要动,稻以前的同学为一队,稻以后的同学为另一对,开始之前同样的比较交换,同学们!明白了吗?”

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

 

情境二:

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

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

...

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

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

 

数据、结构、算法