<?php
/**
*第三种——循环顺序队列的实现方法
*此方法是解决前两种方法的缺点,利用循环队列的方法达到了最优时间复杂度和空间复杂度
*
*
*/
classSqQueue3{
constARR_MAX=20;
private$SqArr;
private$front;
private$rear;
//初始化队列
publicfunction__construct(){
$t..
分类:
Web程序 时间:
2015-01-09 01:43:56
阅读次数:
188
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但...
分类:
其他好文 时间:
2015-01-08 19:59:37
阅读次数:
259
插入类排序:1:直接插入排序O(n^2)
2:折半插入排序O(n^2)
3:希尔排序 O(n乘以log以2为底,n的对数)
空间复杂度都是O(1)
//直接插入排序
void InsertSort(int R[],int n)
{
int i,j;
int tmp;
for(i=1;i<n;i++)//数组下标从0开始,第一个有序,所以从1...
分类:
编程语言 时间:
2015-01-06 18:07:39
阅读次数:
169
交换类排序:1:冒泡排序O(n^2),空间复杂度O(1)
2:快速排序O(n乘以log以2为底,n的对数),空间复杂度O(log以2为底,n的对数)
//冒泡排序
void BubbleSort(int R[],int n)
{
int i,j,tmp,flag;
for(i=0;i
{
flag=0;
for(j=n-1;...
分类:
编程语言 时间:
2015-01-06 18:07:29
阅读次数:
170
选择类排序:1:简单选择排序O(n^2),空间O(1)
2:堆排序O(n乘以log以2为底,n的对数),空间复杂度O(1)
//选择排序
void SelectSort(int R[],int n)
{
int i,j,k;
int tmp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(R[...
分类:
编程语言 时间:
2015-01-06 18:06:14
阅读次数:
213
排序算法注意点:
插入类排序:1:直接插入排序O(n^2)
2:折半插入排序O(n^2)
3:希尔排序 O(n乘以log以2为底,n的对数)
空间复杂度都是O(1)
交换类排序:1:冒泡排序O(n^2),空间复杂度O(1)
2:快速排序O(n乘以log以2为底,...
分类:
编程语言 时间:
2015-01-06 18:03:00
阅读次数:
165
1 # -*- coding:utf-8 -*- 2 3 '''直接插入的python实现 4 时间复杂度O(n**2) 空间复杂度O(1) 稳定 5 6 思想:先将前两个元素排序,第三个元素插入前面已排好序列, 7 后面的元素依次插入之前已经排好序的序列 8 ''...
分类:
编程语言 时间:
2015-01-06 13:29:23
阅读次数:
187
编程题目如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)一个数组是由一个递减数列左移若干位形成的,在这种数组中查找某一个数。☆请修改 append 函数,利用这个函数实现两个非降序链表的并集一串首尾相连的珠子(m 个),有 N 种颜色(N<=10),取出其中一段,要求包含所有 N 中...
分类:
其他好文 时间:
2015-01-02 14:39:35
阅读次数:
180
前段时间在知乎上看到这样一个小题目: 用基本类型实现一队列,队列要求size是预先定义好的的。而且要求不可以使用语言自带的api,如C++的STL。普通的实现很简单,但是现在要求要尽可能的时间和空间复杂度的优化,要和语言自带的api比较时间和空间。这个队列还要支持如下的操作: constru...
分类:
其他好文 时间:
2014-12-31 01:01:07
阅读次数:
239
前段时间在知乎上看到这样一个小题目: 用基本类型实现一队列,队列要求size是预先定义好的的。而且要求不可以使用语言自带的api,如C++的STL。普通的实现很简单,但是现在要求要尽可能的时间和空间复杂度的优化,要和语言自带的api比较时间和空间。这个队列还要支持如下的操作: constru...
分类:
其他好文 时间:
2014-12-30 23:20:26
阅读次数:
237