Giter Site home page Giter Site logo

knowledge-precipitation-tribe / data-structure-implementation Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 31.22 MB

😁数据结构与算法的实现

Home Page: https://docs.data-structures.knowledge-precipitation.site/

License: MIT License

Go 100.00%
datastructures alogrithms

data-structure-implementation's Introduction

Data structures and Algorithms

如果我不能亲手搭建起来一个东西,那么我就不能理解它。 -- 美国物理学家理查德·费曼

内容

思维导图

数据结构

是指相互之间存在一种或多种特定关系的数据元素的集合用计算机存储、组织数据的方式。数据结构分别为逻辑结构、(存储)物理结构和数据的运算三个部分。

数据的逻辑结构

数据的逻辑结构是对数据之间关系的描述,他与数据的存储结构无关,同一种逻辑可以有多种存储结构。

  • 线性结构
  • 非线性结构

数据的物理结构

数据的物理结构又称为存储结构,是数据的逻辑结构在计算机中的表示。

  • 顺序存储方法
  • 链式存储方法
  • 索引存储方法
  • 散列存储方法

算法

算法可以理解为由基本运算和规定的运算顺序所构成的完整的问题解决步骤。

算法的特性

(1)有穷性

一个算法必须保证执行有限步之后结束

(2)确定性

算法的每一步骤都必须有确定的定义

(3)输入

一个算法有0个或多个输入

(4)输出

一个算法有一个或多个输出,以反应对输入数据加工后的结果

(5)可行性

算法中的所有操作都必须可以通过已经实现的基本操作进行计算,并在有限次内实现。

算法的设计目标

(1)正确性

要求算法能够正确的执行预先规定的功能和性能要求。这是最基本的标准

(2)可读性

要求算法易于理解

(3)健壮性

要求算法有很好的容错性,能够对不合理的数据进行检查

(4)高效率与第存储量需求

算法的效率主要是指算法的执行时间

算法的存储量是指算法执行过程中所需要的最大存储空间

总结

数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。

推荐资源

{% embed url="https://labuladong.gitbook.io/algo/" %}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.