php常见的数据结构和算法,GitHub - brelian/kepler: 常用数据结构和常用算法(PHP版)。...

PHP 数据结构与算法

项目介绍

该项目致力于提高 PHP 工程师的算法基础,项目实用 PHP 定义了常用的数据结构的抽象数据类型(ADT),训练者只需实现其中的主要逻辑即可,项目集成了 PHPunit 单元测试包,以便测试。

项目目录结构如下

.

├── src

│   ├── Algorithm # 算法

│   │   ├── Search # 搜索算法

│   │   └── Sort # 排序算法

│   └── Structure # 数据结构

│   ├── ADT # 抽象数据类型

│   ├── Heap # 堆

│   ├── LinkedList # 链表

│   ├── PriorityQueue # 优先队列

│   ├── Queue # 队列

│   ├── Stack # 栈

│   └── Tree # 树

└── tests # 测试用例

相关的接口实现后,在命令行用 phpunit 进行测试,如下测试排序算法

> vendor/bin/phpunit tests/SorterTest.php # 排序测试用例

> vendor/bin/phpunit tests/SearchTest.php # 线性查找测试用例

> vendor/bin/phpunit tests/PermutationTest.php # 测试数字全排列

Change Log

2019-08-06

添加一些数据结构

2019-05-01

添加一些 LeetCode 题目

2019-04-30

添加 LeetCode 搜索相关题目

2019-04-29

添加 LeetCode 一些题目

2019-04-19

添加《剑指Offer》No.11

2019-04-19

添加《剑指Offer》No.3 No.4 No.10

2019-04-09

完成 merge sort

2019-04-08

完成 HashMap

2019-03-26

完成 KMP

2019-03-25

完成全排列

2019-03-22

完成线性查找和二分查找迭代版

2019-03-21

完成选择序算法

完成插入序算法

2019-03-07

完成快速排序算法

数据结构

1. 线性表

2. 树

3. 哈希表

4. 图

DFS

BFS

Disjoint Set 并查集

Trie

BloomFilter

LRU Cache

算法

General Coding

1. 线性查找

2. 查找树

3. 排序

Greedy

Recursion/Backtrace

Dynamic Programming

LeetCode

链表

No.206 Reverse Linked List

No.92 Reverse Linked List II (from Mth node to Nth node)

No.160 Intersection of Two Linked Lists

No.141 Linked List Cycle

No.142 Linked List Cycle II

No.86 Partition List

No.138 Copy List with Random Pointer

No.21 Merge Two Sorted Lists

No.23 Merge k Sorted Lists

栈、队列 & 堆

No.225 Implement Stack using Queues

No.232 Implement Queue using Stacks

NO.155 Min Stack

No.1363 Rails from por.org

No.224 Basic Calculator

No.215 Kth Largest Element in an Array

No.295 Find Median from Data Stream

贪心

No.455 Assign Cookies

No.376 Wiggle Subsequence

No.402 Remove K Digits

No.55 Jump Game

No.45 Jump Game II

No.425 Word Squares

递归、回溯

No.78 Subsets

No.90 Subsets II

No.40 Combination Sum II

No.22 Generate Parentheses

二叉树与图

No.113

No.236

No.114

No.199

二分查找与二叉树排序

哈希表与字符串

No.409 Longest Palindrome

No.290 Word Pattern

No.49 Group Anagrams

No.3 Longest Substring without Repeating charters

No.187 Repeated DNA Sequence

No.76 Minimum Window Substring

搜索

No.200 Number of Islands

No.127 Word Ladder

No.126 Word Ladder II

动态规划

《剑指 Offer》

其他

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值