广义表是一种非线性的数据结构。但如果广义表的每个元素都是原子,它就变成了线性表。广义表广泛地用于人工智能等领域的LISP语言。
广义表一般记作 LS = (a1, a2, ···, an), n是它的长度,ai可以是单个元素(原子),也可以是广义表(子表),当广义表非空时,称第一个元素a1为LS的表头,称其余元素组成的表为LS的表尾。注意:表头是元素(可以是原子,也可以是广表),表尾一定是广...
分类:
其他好文 时间:
2015-04-18 17:49:37
阅读次数:
246
一般认为,对于给定的n个数,只要独立地找出最小值和最大值,各用n-1次比较,最多2(n-1)次就可以找出最大值和最小值。
实际上,至多3(n/2)次比较就足以同时找到最大值和最小值,具体做法是:成对的处理元素,先将一对元素互相比较,然后将最小者与当前最小值比较,将较大者与当前最大值比较,因此每两个元素需要3次比较。这里要注意n的奇偶,当n是奇数,就将最小值和最大值都设置为第一个元素...
分类:
其他好文 时间:
2015-04-16 12:28:39
阅读次数:
137
快速排序的精髓就在partition函数的实现。我们构建两个指针,将数组分为三部分,黑色部分全部小于pivot,中间蓝色部分都大于pivot,后面红色部分未知。i指针遍历整个数组,只要它指向的元素小于pivot就交换两个指针指向的元素,然后递增。// arr[]为数组,start、end分别为数组第一个元素和最后一个元素的索引
// povitIndex为数组中任意选中的数的索引
int part...
分类:
编程语言 时间:
2015-04-14 23:19:53
阅读次数:
183
1. 头文件#include2. 数组习惯用法vector iVec(10);//定义10个整数iVec[0] = 10;//第一个元素赋值为10vector iVec(10, -1);// 定义10个整数,每个整数被初始化为-1int ia[ 6 ] = { -2, -1, 0, 1, 2, 10...
分类:
其他好文 时间:
2015-04-14 19:20:59
阅读次数:
93
push定义和用法push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。语法arrayObject.push(newelement1,newelement2,....,newelementX)参数 描述 newelement1 必需。要添加到数组的第一个元素。 newelement2 ...
分类:
编程语言 时间:
2015-04-14 12:52:25
阅读次数:
656
快速排序的数组实现 1 void quickSort(int *arr, int low, int high) 2 { 3 int pivot = arr[low];// 将第一个元素作为支点 4 int beg = low, end = high;//暂存起点、终点下标 5 6 ...
分类:
编程语言 时间:
2015-04-14 12:43:16
阅读次数:
151
利用快速排序实现TopK排序 1 //返回支点的下标 2 int partition(int *arr, int low, int high) 3 { 4 //选取第一个元素为支点 5 int pivot = arr[low]; 6 while(low = pivot)10 ...
分类:
编程语言 时间:
2015-04-13 22:35:52
阅读次数:
182
数组和指针是两种不同的类型,数组具有确定数量的元素,而指针只是一个标量值。数组可以在某些情况下转换为指针,当数组名在表达式中使用时,编译器会把数组名转换为一个指针常量,是数组中的第一个元素的地址,类型就是数组元素的地址类型;指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的...
分类:
编程语言 时间:
2015-04-13 00:05:39
阅读次数:
260
动规方程f[i]=f[j]+1(1<=j<i, a[j]<a[i])教训最长上升子序列有一个特点,就是答案最小都是1,所以可以给f[i]赋值为1,还有一种处理方式是并不赋值为1,但是在输出答案的时候加1就好了(其实就是偏移量)。给每个f[i]加1其实就意味着每个数都可能是最长上升子序列的第一个元素。...
分类:
其他好文 时间:
2015-04-11 20:46:04
阅读次数:
104
名称数据对象稳定性时间复杂度空间复杂度描述平均最坏冒泡排序数组(无序区,有序区)。从无序区通过交换找出最大元素放到有序区前端。选择排序数组(有序区,无序区)。在无序区里找一个最小的元素跟在有序区的后面。对数组:比较得多,换得少。链表插入排序数组、链表(有序区,无序区)。把无序区的第一个元素插入到有序...
分类:
编程语言 时间:
2015-04-10 23:52:20
阅读次数:
230