常用数据结构 & 算法分析

数据结构自 1968 年以来被设置为一门独立课程,是关于结构化编程(以模块功能和处理过程为主的编程范式)的一门方法学,主要研究的是数据的逻辑结构物理结构以及它们之间的相互关系,并定义与这些结构相适应的算法。这里的算法描述的是一种确定并且有效的,适合用于计算机程序来实现和解决问题的方法。某种意义上,数据结构和算法是计算机科学与技术领域研究和应用的核心。

编写程应用序解决问题,首先需要从实际问题域当中抽象出一个模型,然后设计出求解该模型的算法。模型抽象的过程,实质是分析问题并从中找出操作对象,然后寻找出这些操作对象之间的关系,最终用程序语言加以描述的过程。本文采用 Linux C 语言进行描述,主要讲解了线性表队列共 5 种主要的数据结构,以及查找排序这 2 种常用算法。

阅读更多

面向对象设计模式温故知新

设计模式(Design Pattern)代表了面向对象程序设计的最佳实践,是一套软件工程化背景下,用于提高代码可复用性的解决方案。设计模式这一术语起源于 1995 年《设计模式 - 可复用面向对象软件的基础》一书的出版,该书 4 位作者被称为四人帮 GoFGang of Four,全书一共收录了常用的 23 种模式,该书的出版是软件工程领域的一座里程碑,标志着 Java C++ 等面向对象的程序设计语言,迈向了更加具有标准范式的工程化方向。

面向对象的编程思想,通过封装继承多态降低代码的耦合度,而设计模式在此基础上强调了代码的可复用性。本文代码采用 C++ 语言进行描述,然后搭配 UML 示意图进行描述。

阅读更多