Skip to content

haoqing-yan/Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

数据结构与算法

目录

  1. 简介
  2. 数据结构
  3. 算法
  4. 贡献
  5. 许可证

简介

这个项目包含了常见的数据结构与算法的实现及其相关的示例代码。旨在帮助学习和理解这些基础概念,并为实际应用提供参考。

数据结构

数组

数组是一种线性数据结构,存储在连续的内存位置。它允许随机访问元素,并且支持高效的按索引访问。

链表

链表是一种线性数据结构,其中的元素按节点存储,每个节点包含数据和一个指向下一个节点的引用。

栈是一种线性数据结构,遵循后进先出(LIFO)的原则。操作主要包括压栈(push)和弹栈(pop)。

队列

队列是一种线性数据结构,遵循先进先出(FIFO)的原则。操作主要包括入队(enqueue)和出队(dequeue)。

树是一种分层数据结构,由节点组成。每个节点包含数据和指向子节点的引用。常见的树结构有二叉树、二叉搜索树、AVL树等。

图是一种非线性数据结构,由节点和边组成。节点表示实体,边表示实体之间的关系。

哈希表

哈希表是一种通过哈希函数将键映射到值的数据结构,支持高效的插入、删除和查找操作。

算法

排序算法

  • 冒泡排序
  • 选择排序
  • 插入排序
  • 快速排序
  • 归并排序

搜索算法

  • 线性搜索
  • 二分搜索
  • 深度优先搜索(DFS)
  • 广度优先搜索(BFS)

动态规划

动态规划是一种将问题分解为子问题,通过存储子问题的解来优化计算的算法。

分治算法

分治算法是一种递归算法,将问题分解为更小的子问题,然后合并子问题的解来解决原问题。

贪心算法

贪心算法是一种每一步都选择最优解的算法,适用于局部最优解能导出全局最优解的情况。

回溯算法

回溯算法是一种递归算法,通过尝试不同的解决方案并回溯来寻找问题的所有可能解。

贡献

欢迎贡献代码!请提交 pull request 或报告问题。如果你有新的数据结构或算法实现,欢迎分享。

许可证

本项目基于 MIT 许可证开源。详情请参见 LICENSE

About

算法练习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages