01数据结构与算法总览_pythoner学习数据结构与算法系列

举报
诡途 发表于 2021/11/19 02:07:48 2021/11/19
【摘要】 文章目录 系列目录思维导图一、数据结构1.一维数据结构2.二维数据结构3.特殊数据结构 二、算法此算法非彼算法分类—八大点 系列目录 01 ~ 10篇11 ~ 20篇01 数据结构...

系列目录

思维导图

在这里插入图片描述

一、数据结构

数据结构主要分为三大块:一维数据结构、二维数据结构、特殊数据结构

1.一维数据结构

可以分为基础和高级两大类

  • 基础:
    数组 array(string),链表 linked list

  • 高级:
    栈 stack,队列queue,双端队列deque,集合set,映射map(hase or map),etc
    映射map 在python中叫字典 dict
    栈 stack:先进后出 /后进先出 LIFO last in first out
    队列queue:先进先出 FIFO first in first out

2.二维数据结构

通常由一维数据结构泛化产生

可以简单理解为:
当一个一维的链表的分叉有两个的时候,
它就变成了一个二维的数据结构,相当于树结构

  • 基础:
    树 tree 图 graph

  • 高级:

    • 在树的基础上加 了很多特殊判断和约定条件
    • 二叉搜索树:它的根节点大于左子树且小于它右子树的全部节点
    • 二叉搜索树的一些特殊结构:red-black tree,AVL

    例:

    • 二叉搜索树 binary search tree(red-black tree,AVL),
    • 堆 heap,并查集 disjoint set,字典树 Trie,etc

3.特殊数据结构

主要是用于工程中特定的情景

  • 位运算 Bitwise, 布隆过滤器 BloomFilter
  • 缓存 LRU Cache

二、算法

此算法非彼算法

这里的算法不是算法工程师title对应的那个算法

本文及本系列文章所指皆为《数据机构与算法》里的算法,属于计算机科学的一门课程,国外的高校会拆成两门课 《数据结构》 和《算法》,有本科阶段的也有研究生阶段的,本科和研究生阶段的主要是难度和广度不同 ,国内会把这两门课连着开,或者放在一起开,最主要是这两门课在学习中是分不开的:

  • 很多数据结构是为某一算法而服务的,
  • 很多算法其实是专门为这个数据结构而设计的

算法工程师对应的算法主要就是指机器学习算法

  • 从数据中获取规律(模型)
  • 解决一些问题(替代人工)
  • 包含传统机器学习,数据挖掘,人工智能等

分类—八大点

基础: 公理 | 基石, 任何的高阶算法都会转化为if-else/while/recursion

  • ① if-else,switch —>branch 判断,分支
  • ②for,while loop —>iteration循环 ,迭代
  • ③递归 Recursion (Divide & Conquer,Backtrance)

高阶: 找到问题的重复单元进行泛化

  • ④搜索 Search:深度优先搜索 Depth first search(DFS),
    广度优先搜索 Breadth first search(BFS),A*,etc
  • ⑤动态规划 Dynamic Programming
  • ⑥二分查找Binary Search
  • ⑦贪心Greedy 排序sort
  • ⑧数学 Math几何Geometry

下一篇: 02 训练准备和复杂度分析

文章来源: blog.csdn.net,作者:诡途,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_35866846/article/details/107641306

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。