在程序入门的讨论社团中有一种类型的年经文,像是:
我想答案是: 就算你不会资料结构,你也写得出程序。不过,如果你注重程序的执行效率的话,资料结构绝对是必备的知识之一!
开设资料结构的老师与第三天提到的 UCOMP 微算机实习的老师是同一人 (也就是我的恩师)。
这门课是采英文授课的,整个学期要教完所有基础的资料结构,所以课程算是相当紧凑。
那一学期老师一共上了:
题外话: 因为老师选用的课本是演算法圣经,所以简单的演算法都有提到,到我三下修了计算机演算法时,除了 Dynamic programming 是老师当时没有提到的以外,其他都被他给讲完了 XD
不过说到这边,没有资料结构基础的同学可能也还是不明白它的重要性,资料结构的概念就非常像是教你怎麽安排教室的桌椅,如果教室是:
这样坐在中间位子的同学就非常不方便入座,但是可以容纳很多人。
因为空间非常大,所以学生要回座位非常轻松,但是会浪费大量的空间,而且同学会聊天。
就像是一般国中小那样,空间使用率跟回座位的方便性都属於一般般,可以算是折衷的作法。
至於演算法,就有点像是座位分配的机制:
每个排法都有它的优缺点,这就是演算法的魅力所在。
不知道从什麽时候开始,科技公司非常喜欢在面试时考验工程师的解题能力。
如果要在最快时间内以最佳的办法处理掉题目的需求,资料结构与演算法几乎是必备的技能。
但我本人其实非常讨厌刷题,因为我觉得为了刷题而写程序还蛮没意义的,所以我一直都对这块兴致缺缺。
是说交大资工所也会要求学生要在 CPE 中解出至少三题,所以为了毕业证书,我之後也得乖乖刷题了 XD
<<: 自动化测试,让你上班拥有一杯咖啡的时间 | Day 6 - 使用 Custom Commands
>>: 自动化 End-End 测试 Nightwatch.js 之踩雷笔记:选取文字
学习PHP前的准备,就是开发环境与执行环境的部署,就像上学前要先准备铅笔、课本、背包,最重要的是一颗...
【从零开始的Swift开发心路历程-Day30】认识GCD多执行绪Part3(完) 昨天我们用程序码...
这里我们先看一张图,大概了解一下 Git 在发布专案时的流程。 先有个概念,之後会逐一详细解释。 开...
PixiJS为2D WebGL渲染引擎,经常使用於互动与游戏相关专案中,具有快速、装置支援度高的优点...
此篇後面会有点难懂,可以去看我的范例,更了解实际运作喔,各位加油! computed 计算属性 co...