GithubHelp home page GithubHelp logo

procedureapeone / data-structure-and-algorithm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from doocs/data-structure-and-algorithm

0.0 1.0 0.0 181 KB

😍 学习数据结构与算法,夯实编程基础

Home Page: https://doocs.github.io/data-structure-and-algorithm

License: Creative Commons Attribution Share Alike 4.0 International

HTML 24.08% Java 75.92%

data-structure-and-algorithm's Introduction

必知必会:数据结构与算法

java-ci prs-welcome doocs-open-source-organization gitter

Algorithms + Data Structures = Programs, — Niklaus Wirth

目前来说,程序员的面试门槛越来越高,很多一线互联网公司的技术面试,都或多或少会考察数据结构与算法相关的题目,掌握数据结构与算法尤为重要。如果你不想永远做一名“代码搬运工”,那就花点时间一起来学习吧。本项目涵盖数据结构与算法所有知识点,内容将在后续不断更新,欢迎持续关注项目最新动态。

数据结构的划分

稀疏矩阵和队列

堆栈

队列

链表

链表介绍

单链表应用实例

单链表大厂面试题

双向链表应用实例

单向环形链表应用场景

单向环形链表介绍

约瑟夫问题

栈的一个实际需求

栈的介绍

栈的应用场景

栈的快速入门

栈实现综合计算器

逆波兰计算器

中缀表达式转换为后缀表达式

递归

递归与递归调用机制

递归-迷宫问题

递归-八皇后问题(回溯算法)

排序算法

排序算法介绍

算法的时空复杂度

冒泡排序

选择排序

插入排序

希尔排序

快速排序

归并排序

基数排序

常用排序算法对比总结

查找算法

线性查找算法

二分查找算法

插值查找算法

斐波那契(黄金分割法)查找算法

哈希表

哈希表的基本介绍

Google 公司的一个上机题

树结构

二叉树

  • 为什么需求树这种数据结构
  • 二叉树遍历:前序、中序、后续
  • 二叉树查找与删除

顺序存储二叉树

  • 顺序存储二叉树的概念
  • 顺序存储二叉树的遍历
  • 顺序存储二叉树应用实例

线索化二叉树

  • 先看一个问题
  • 线索二叉树基本介绍
  • 线索二叉树应用案例
  • 遍历线索化二叉树

树结构应用

堆排序

赫夫曼树

赫夫曼编码

  • 数据压缩与解压
  • 文件压缩与解压

二叉排序树

平衡二叉树(AVL 树)

  • 左旋
  • 右旋
  • 双旋转

多路查找树

二叉树与 B 树

B 树、B+ 树和 B* 树

图基本介绍

图的表示方式

图的深度优先遍历

图的广度优先遍历

图的深度优先 VS 广度优先

10 大常用算法

二分查找算法(非递归)

分治算法

动态规划算法

KMP 算法

贪心算法

普里姆算法

克鲁斯卡尔算法

迪杰斯特拉算法

弗洛伊德算法

马踏棋盘算法

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.