• 【玩转算法】1、总结,算法思想,加油


    总结,算法思想,加油


    简单记录 - bobo老师的玩转算法系列–玩转算法 -结束语

    学完了,加油 _ 一个开始 算法的世界

    为什么要学习算法

    我们每天都在接触算法。

    算法是至关重要的。

    学好算法,才能创造出更有意义的东西。

    让我们一起体会算法之美

    在这里插入图片描述

    Computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty.A programmer
    who subconsciously views himself ad an artist will enjoy what he does and will do it better.
    -Donald Ervin Knuth

    算法

    一个开始 算法的世界 计算机这条路

    交流 思想 实现 加油

    学习要求

    需要掌握最基础的语言知识

    了解数组,链表,堆,栈等线性结构

    对基本算法知识有常识性了解:如递归、遍历、算法复杂度

    线性问题(排序)

    树形问题

    图论问题

    白板编程

    不给你编译器,给你一个白板,直接在上面写代码。

    算法思想?

    分治算法 - 归并排序,快速排序…

    贪心算法 - 最小生成树…

    动态规化 - 最短路径 …

    递归搜索 - 树形结构…

    堆:斐波那契堆?

    树:线段树?

    图:网络流?

    语言实现

    在这里插入图片描述

    Java

    数据结构的重要性

    在这里插入图片描述

    I will,in fact,claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important.Bad programmers worry about the code.Good programmers worry about data structures and their relationships.
    -Linus Torvalds(creator of Linux)

    课程总结

    在这里插入图片描述

    线性(排序) 树形结构 图形结构

    算法与数据结构

    线性问题(排序)

    线性问题(排序)

    O(n^2)

    选择排序

    插入排序

    O(nlogn)

    归并排序 求逆序数的个数

    快速排序 - partition -> 随机化 -> 大量重复元素 k-selection

    三路快排

    O(nlogn)

    堆排序 (Heap)

    在这里插入图片描述

    树形问题

    树形问题

    堆(Heap)

    堆排序

    优先队列

    索引堆 Prim Dijkstra

    二叉查找树(Binary Search Tree) 解决查找问题

    二分查找法 动态维护:插入,删除,查找,遍历,顺序相关问题

    并查集(Union Find)

    基于rank的优化 -> 路径压缩 Kruskal 应用

    在这里插入图片描述

    图论问题

    图的表示:邻接表和邻接矩阵

    有向图和无向图

    有权图和无权图

    图的遍历:DFS, BFS 深度 广度

    联通分量 Flood Fill 寻路 走迷宫 迷宫生成

    无权图的最短路径 环的判断

    最小生成树问题 (Minimum Spanning Tree)

    Prim Kruskal

    最短路径问题 (Shortest Path)

    Dijkstra Bellman-Ford

    在这里插入图片描述

    更多算法问题

    数据结构相关

    双向队列 斐波那契堆 红黑树 区间树 KD树 ……

    具体领域相关

    数学:数论;计算几何 图论:网络流 ……

    进一步学习

    算法设计相关

    分治 归并排序;快速排序;树结构

    贪心 选择排序;堆;Kruskal;Prim;Dijkstra

    递归回溯 树的遍历;图的遍历

    动态规划 Prim;Dijkstra

    算法

    每个细分领域都是算法

    算法

    图形学

    图像学

    机器学习

    人工智能

    数据挖掘

    操作系统

    编译原理

    网络安全

    虚拟现实

    高性能计算

    算法 交流 思想 实现 加油

  • 相关阅读:
    LightDB/postgresql内置特性之访问oracle之oracle_fdw介绍
    Java系列 | Linux系统中运行JMeter脚本
    适合新手练习的python开源经典源码
    基于python的json和cvs格式转换
    基于python中librosa的声音混音实例解析
    基于python的多线程串口处理实例源码解析
    基于python的定时PC定时录音机实现
    python librosa 实例解析
    噪声分贝测试测量仪工作原理分析
    Python中的join()函数的用法实例分析
  • 原文地址:https://www.cnblogs.com/liuawen/p/12310606.html
Copyright © 2020-2023  润新知