GithubHelp home page GithubHelp logo

shangyizhou / datastructure Goto Github PK

View Code? Open in Web Editor NEW

This project forked from daipuwei/datastructure

1.0 0.0 0.0 6.04 MB

这是基本数据结构及其算法的C++实现,涉及单链表、双链表、栈 、二叉树、并查集、哈夫曼树、平衡二叉树、二叉搜索树、堆、哈希表、图以及各种排序。

License: MIT License

C++ 100.00%

datastructure's Introduction

DataStructure

这是基本数据结构及其算法的C++实现,涉及单链表、双链表、栈 、二叉树、并查集、哈夫曼树、平衡二叉树、二叉搜索树、堆、哈希表、图以及各种排序算法。


一、文件结构

1 单链表

  • CSDN博客链接:单链表
  • 主要介绍了单链表的基本操作。包括建表,插入,删除,逆序,判断是否为空,合并等。我这里写的是带有头结点的单链表,头结点保存链表长度。

2 双链表

  • 主要介绍了双链表的基本操作。包括建表,插入,删除,逆序,判断是否为空,合并,冒泡排序等。

3 栈

  • CSDN博客链接:栈的应用——表达式求值
  • 主要介绍了栈的应用——表达式求值。具体思路就是首先把输入的中缀表达式转换为后缀表达式,然后再根据后缀表达式进行计算求值。这份代码只能实现10以内的加减乘除。

4 二叉树操作

  • CSDN博客链接:二叉树的构建及其遍历算法
  • 主要介绍了二叉树的创建、先中后三种遍历方式的递归实现,再详细介绍先中后三种遍历方式的非递归实现与层次遍历。

5 二叉搜索树

  • CSDN博客链接:二叉搜索树
  • 主要介绍了二叉搜索树的创建、查找指定值结点、查找最大最小值、插入指定值、删除指定值,插入最大最小值、删除最大最小值操作

6 平衡二叉树

  • CSDN博客链接:平衡二叉树
  • 主要介绍了平衡二叉树的单左旋、单右旋、右左旋、插入指定值、删除指定值操作

7 哈夫曼树

  • 主要介绍了哈夫曼树与哈夫曼编码的建立

8 并查集

  • CSDN博客链接:并查集
  • 主要介绍了并查集的初始化、查找和并操作

9 并查集

9.1 最小堆

  • CSDN博客链接:最小堆
  • 主要介绍了最小堆的插入、删除与建堆的操作

9.2 最大堆

  • 主要介绍了最大堆的插入、删除与建堆的操作

10 图

10.1 邻接矩阵

10.2 邻接表

10.3 Prim算法

10.4 kruskal算法

10.5 Dijiksta算法

10.6 Floyd算法

10.7 拓扑排序

  • CSDN博客链接:拓扑排序
  • 主要介绍了邻接矩阵存储下的图的拓扑排序算法

11 哈希表

11.1 开放定址法

11.2 分离链接法

12 各种排序

datastructure's People

Contributors

daipuwei avatar

Stargazers

 avatar

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.