GitHub PHP项目推荐|PHP程序员数据结构和算法内功修炼|开发进阶

GitHub PHP项目推荐|如果说各种编程语言是程序员的招式那么数据结构和算法就相当于程序员的内功 用PHP的方式来修炼内功吧

项目分析

仓库名称:arithmetic-php

标星(star):117 (不错哦,潜力股项目)

标星趋势

关注(watch):2

拷贝(fork):42

贡献人数:10

仓库大小:<1 MB

代码提交周期分布

综合推荐指数: 2星

开发语言

主要语言:PHP

语言分布:PHP:100.00%

项目概述

每周最少一更,求出题,求虐待 At least once a week, ask for problems and abuse

简易结构

├──Package
│ ├── Sort 排序篇
│ │ ├── BubbleSort.php 冒泡排序
│ │ ├── HeapSort.php 堆排序 大根堆
│ │ ├── MBaseSort.php 基数排序 MSD
│ │ ├── LBaseSort.php 基数排序 LSD
│ │ ├── QuickSort.php 快速排序
│ │ ├── ShuttleSort.php 飞梭排序
│ │ ├── ShellSort.php 希尔排序
│ │ ├── MergeSort.php 归并排序
│ │ ├── InsertSort.php 插入排序
│ │ └── SelectSort.php 选择排序
│ │
│ ├── Query 查找篇
│ │ ├── BinaryQuery.php 二分查找
│ │ ├── InseertQuery.php 插入查找
│ │ ├── FibonacciQuery.php 斐波那契查找
│ │ ├── BFSQuery.php 广度优先查找
│ ├── Kmp.php 算法导论-KMP算法
│ ├── DijkstraQuery.php 迪克斯特拉算法
│ │ └── QulickQuery.php 快速查找
│ │
│ ├── Structure 数据结构
│ │ ├── StackExample.php 堆栈 先进后出 LIFO (Last In First Out)
│ │ ├── LinearChain.php 线性表 单链存储
│ │ └── LinearOrder.php 线性表 顺序存储
│ │ └── BinarySearchTree.php 二叉搜索树
│ │
│ ├── Tools 小工具集
│ │ └── SystemSwitch.php 堆栈实现进制转换
│ │
│ └── Other 其他
│ ├── MonkeyKing.php 约瑟夫环
│ ├── DynamicProgramming.php 动态规划
│ ├── Fibonacci.php 斐波那契数列
│ ├── StealingApples.php 偷苹果求余
│ ├── HanoiGames.php 汉诺塔游戏
│ ├── BidirectionalQueue.php 双向队列
│ ├── ColorBricks.php 彩色砖块
│ ├── GetCattle.php 牛年求牛
│ ├── OnlyNumbers.php 求唯一数
│ ├── PokerGames.php 洗扑克牌
│ ├── Interval.php 抽奖区间算法
│ ├── Maze.php 迷宫寻址算法
│ ├── AntsClimb.php 蚂蚁爬杆算法
│ ├── Encryption.php 对称加密算法
│ ├── ElevatorDispatch.php 编程之美-电梯调度算法
│ ├── PointInTriangle.php 向量叉集计算点是否在三角形中
│ ├── TraversalOfBinary.php 二叉树非递归遍历算法实现
│ ├── Knapsack.php 贪心算法之背包问题实现
│ └── BigSmallReplace.php Hello World 输出 Olleh Dlrow
│ └── Solution.php Facebook面试题之岛屿周长算法
│ └── RotationSort.php Facebook面试题之顺时针回旋算法
│ └── Square.php Facebook面试题之判断四个点能否组成正方形算法
│ └── Prim.php Prim算法(最小生成树算法)
│ └── CartesianProduct.php 笛卡尔积算法
│ └── Square.php 面试题之平面任意四点能否组成一个矩形
│ └── Judge.php 面试题之扑克牌中任选五张判断是不是顺子
│ └── Factorial.php 面试题之N的阶乘末尾有多少个0


├──LICENSE
└──README.md

要做什么?

记录自己理解算法,数据结构的过程,尽可能的简单全面以及详细,让算法学习运用灵活自如,加油(ง •̀_•́)ง

当然

用 PHP 实现算法并替代官方提供的函数是愚蠢的事情 .但这觉不代表斟酌算法就是件无意义的事 , 每个算法都是一种思想的结晶 , 学习优秀的思想 , 开拓思维

什么是算法?

直白地说,算法就是任何明确定义的计算过程,它接收一些值或集合作为输入,并产生一些值或集合作为输出。这样,算法就是将输入转换为输出的一系列计算过程。来源:Thomas H. Cormen, Chales E. Leiserson (2009), 《算法导论第三版》。

简而言之,我们可以说算法就是用来解决一个特定任务的一系列步骤(是的,不止计算机在使用算法,人类也同样如此)。目前,一个有效的算法应该含有三个重要特性:

  • 它必须是有限的:如果你设计的算法永无休止地尝试解决问题,那么它是无用的。
  • 它必须具备明确定义的指令:算法的每一步都必须准确定义,在任何场景下指令都应当没有歧义。
  • 它必须是有效的:一个算法被设计用以解决某个问题,那么它就应当能解决这个问题,并且仅仅使用纸和笔就能证明该算法是收敛的。

项目地址

https://github.com/pushaowei/arithmetic-php

程序员新视界:分享有趣、有料的流行程序员话题,每天进步一点点。

欢迎投稿本站:紫金网 » GitHub PHP项目推荐|PHP程序员数据结构和算法内功修炼|开发进阶