“设计模式”与“数据结构和算法”之间的关系?

时间:2011-03-23 03:48:25

标签: algorithm design-patterns data-structures

我不熟悉“设计模式”。但我听说“设计模式”和“数据结构和算法”是相似的。那么他们是如何相关和不同的?

谢谢和问候!

3 个答案:

答案 0 :(得分:5)

就像@ire_and_curses说的那样,你要比较三个非常不同的东西。

  1. Design Patterns是解决软件工程中常见问题的一种方法。或者解决设计问题的模式。(正如维基百科所说)设计模式可以用任何语言实现。 示例:The Singleton Design Pattern

  2. Data Structures是类/结构或代码,允许以某种方式存储数据。
    示例:The Queue Data Structure.

  3. 算法或多或少地解决问题,可以用英语或数学书写 示例:The Quick Sort Algorithm请参阅伪代码位。

答案 1 :(得分:2)

算法和设计模式的相似之处在于,它们都描述(抽象)常见问题的解决方案,通常伴随着(伪)代码中的示例实现,或者在设计模式的情况下,伴随着UML(统一建模语言) ,通常需要特定类型的数据结构来实现其目标。

答案 2 :(得分:1)

数据结构是您“存储”数据(列表,树,表)的方式/形式。算法是可以读取或更新数据结构的一系列步骤。设计模式通常与面向对象编程有关,是解决问题的“可重用”解决方案。

数据结构和算法之间的关系是操作数据结构的操作可能被视为算法或需要执行的一系列步骤,以便保留特定数据结构的特性。

设计模式与其他两种模式之间没有直接关系。 虽然有一种名为Strategy的设计模式有助于封装算法以使其可重用。