数据结构
mayday526
这个作者很懒,什么都没留下…
展开
-
php实现冒泡排序
冒泡排序很简单,就是不断地交换相邻的数,使得最大的数排在最后面,即一次循环可以确定最大一个数的排序位置。 php代码实现:function bubble(&$arr){ for($i = 1; $i < count($arr); $i++){//第n次循环可以确定后n个的位置 for($j = 0; $j < count($arr)-$i; $j++){//确定的位置就不用原创 2017-05-11 12:32:05 · 661 阅读 · 0 评论 -
插入排序
插入排序就像扑克排序,从未排序的序列选第一张牌,插入到已排序的牌堆里的合适位置。function insert(&$arr){ for($i = 1; $i < count($arr); $i++){//认为第一个位置是已排序序列,从第二个开始逐一选择插入 if($arr[$i] < $arr[$i-1]){ $temp = $arr[$i];原创 2017-05-11 12:57:44 · 267 阅读 · 0 评论 -
先序创建二叉树及三种遍历
#include<stdio.h> #include<stdlib.h> int max = 0; struct node{ int data; struct node *left; struct node *right; };struct node *create(struct node *newNode){//先序创建二叉树 char data; sca原创 2017-05-11 16:01:28 · 1937 阅读 · 0 评论 -
堆以及php实现堆排序
什么是堆 这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。堆可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性质是,除了最底层之外,每一层都是满的,这使得堆可以利用数组来表示,每一个结点对应数组中的一个元素.数组与堆之间的关系 二叉堆一般分为两种:最大堆和最小堆。什么是最大堆堆中每个父节点的元素值都大于等于其孩子结点(如果存在),这样的堆就是一个最大堆因此,最大堆中的最大元素原创 2017-05-11 18:49:29 · 653 阅读 · 0 评论 -
php实现归并排序
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。function mergearray($a,$b){ $a_poin原创 2017-05-07 21:34:20 · 534 阅读 · 0 评论