数据结构和算法
#python #dsa #datastructures #algoritms

什么是数据结构?
数据结构是在计算机上组织数据的不同方式,可以有效使用。

Image description

因此,如果我们想找到任何特定的颜色尺度,我们可以很容易地从右侧框中找到它。因为它井井有条。

对于软件应用程序性能的角度,软件的效率和性能取决于在程序执行过程中如何将数据存储,组织和分组在一起。

Image description

什么是算法?
算法只是执行任务或解决问题的一组指令。

示例:
我们需要在A4尺寸的纸张中有一个边距。因此:

Image description

  1. 从不同的颜色尺度选择量表
  2. 将比例放在我的A4尺寸纸上
  3. 使用铅笔或钢笔并绘制保证金

此外,我们日常生活中的算法:

喝咖啡:

Image description

1.去咖啡店
2.付款
3.喝咖啡

这套步骤裁判算法。

计算机科学中的算法:
计算机程序完成任务的规则。

是什么使良好的算法?

  1. 正确性
  2. 效率

作为软件或计算机,我们的责任是在数据上执行操作。首先,我们给出一些输入,然后对其进行处理,然后将处理的数据归还为输出。数据的输入可以以任何形式。

Image description

示例:Google Map

输入(启动和结束) - > process(dsa) - >输出(最短路径)

其他示例:库(组织良好)

想想,如果我需要算法书,我首先要转到计算机科学部分,然后算法部分。我能够找到我所需的书。因为它组织得很好,将其引用到数据结构。

数据结构的类型

在Python中,我们可以在2个部分中偏离:

  • 原始
  • 不是原始

原始:

  1. 基本数据类型无法分解为更简单的数据类型。
  2. 固定尺寸​​,通常比非原始大小小。
  3. 用于简单操作。
  4. 在内存中表示为简单的值。

非原始:

  1. 更复杂,可以分解为较小的数据类型。
  2. 大小可能很大,动态增长或收缩。
  3. 用于复杂操作,例如数据操作,分类和搜索。
  4. 在内存中表示为其他内存位置的指针。

数据结构中的主题:

Image description

这些是我们拥有的数据结构。还有更多,但它们是最重要的。

  • 线性数据结构用于表示元素顺序很重要的数据序列。

  • 非线性的未依次表示。用于表示每个元素以特定方式连接到一个或多个其他元素之间的数据元素之间的分层关系。

某些类型的算法

  • 排序(按照供应或待命的顺序排序数据)
  • 搜索(在数据集中找到特定值)
  • 图(处理可以表示为图形的数据)
  • 递归
  • devide and Conquer

以及更多...