zoukankan      html  css  js  c++  java
  • 《数据结构和算法》之学习规划(1)

    如果你不想成为代码工人,那就花时间来研究下数据结构和算法。


     学习规划


    数据结构和算法的介绍

    • 数据结构的介绍
    • 数据结构和算法的关系
    • 看几个实际编程中遇到的问题
    • 线性结构和非线性结构

    稀疏数组和队列

    •  稀疏sparsearray数组
    •  队列

    链表

    • 链表(Linked List)介绍
    • 单链表
    • 双向链表
    • 单向环形链表
    • Jsosephu问题

    栈 

    •  栈的一个实际需求
    •  栈的介绍
    •  栈的应用场景
    •  栈的快速入门
    •  栈实现综合计算器
    •  前缀、中缀、后缀表达式(逆波兰表达式)
    •  逆波兰表达式计算器
    •  中缀表达式转换为后缀表达式
    •  逆波兰计算器完整版

    递归

    • 递归应用场景
    • 递归概念
    • 递归调用机制
    • 递归能解决什么问题
    • 递归需要遵守的重要原则
    • 迷宫问题
    • 八皇后问题(回溯算法)

    排序算法

    • 排序算法的介绍
    • 算法的时间复杂度
    • 算法的空间复杂度简介
    • 冒泡排序
    • 选择排序
    • 插入排序
    • 希尔排序
    • 快速排序
    • 归并排序
    • 基数排序(桶排序升级版)
    • 常用排序算法总结和对比

    查找算法

    •  查找算法介绍
    •  线性查找算法
    •  二分查找算法
    •  插值查找算法
    •  斐波那契(黄金分割法)查找算法

    哈希表

    •  哈希表的基本原理
    •  哈希表(散列) Google 上机题

    树结构基础部分

    •  二叉树
    •  顺序存储二叉树
    •  线索化二叉树

    树结构实际应用

    •  堆排序
    •  赫夫曼树
    •  赫夫曼编码
    •  二叉排序树
    •  平衡二叉树(AVL树)

    多路查找树 

    • 二叉树与 B 树
    • 2-3 树
    • B树、B+ 树 和 B* 树

    • 图的基本介绍
    • 图的常用概念
    • 图的快速入门案例
    • 图的深度优先搜索算法介绍
    • 图的创建和深度优先搜索算法
    • 图的创建和深度优先搜索算法

    程序员常用10大算法

    •  二分查找算法(非递归)
    •  分治算法
    •  动态规划算法
    •  KMP 算法
    •  贪心算法
    •  普里姆算法
    •  克鲁斯卡尔算法
    •  迪杰斯特拉算法
    •  弗洛伊德算法
    •  马踏棋盘算法

    以上是我的学习规划,大纲思路来自尚硅谷韩顺平老师的算法课程:视频链接贴一下:https://www.bilibili.com/video/BV1E4411H73v

    说下自己的感受:算法这东西是提升一个程序员内涵的必经之路,但是在平常工作中又很少遇到算法,学习算法主要是以兴趣爱好为出发点,逐步深化为自己的编程思想逻辑,并尝试着用算法处理一些逻辑问题。

    没其他好说的,每天能学到新知识,简直不要太开心,哈哈~

  • 相关阅读:
    Tornado @tornado.gen.coroutine 与 yield
    ThreadPoolExecutor执行任务,异常日志缺失问题
    Mybatis关联查询<association> 和 <collection>
    Spring整合mybatis
    Jedis操作Redis--Key操作
    Jedis操作Redis--SortedSet类型
    Jedis操作Redis--Set类型
    同义词 “stop from”,“keep from”和“prevent from”的区别
    test
    Python win32gui调用窗口到最前面
  • 原文地址:https://www.cnblogs.com/dk1024/p/13200236.html
Copyright © 2011-2022 走看看