The-ith-Element

本文介绍了一种利用快速排序思想解决寻找数组中第i个元素的问题。通过选择基准值并进行数组重排,可以有效地定位到目标元素。具体步骤包括选取基准值、重排数组并递归处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Brief: the-ith-element,given a array A with n element , return the i-th element of A.  A(n,i)

this problem can be solved using quick-sort idear, every time we choose a pivot ,after rearrangement, we know the pivot is the i-th element of A, so we can fixed this problem as the follow action.

i) choose  pivot, rearrangement array, get the pivot index of j;

ii) if j > i , then recursion the 1-th partition , A(1-th , i);

iii)if j < i, then recursion the 2-th partition, A(2-th, i-j);

 

 

int element(int *array, int left, int right, int index)
{
	if(left >= right)
		return array[left];
	int pivot = array[left];
	int i=0, j = 0;

	for(i=left+1,j = left+1; j <=right; ++j)
	{
		if(array[j] < pivot)
			swap(array[i++], array[j]);
	}
	swap(array[left], array[i-1]);

	//pivot is the (i-left)-th element, and pivot's index is i-1

	if(index == i-left)
		return array[i-1];
	else if(index < i-left)
		return element(array, left, i-2, index);
	else
		return element(array, i,right, index-i+left);
}

  

转载于:https://www.cnblogs.com/memoryh/p/4004231.html

我有这样一个数据集在本地:Dataset layout Python / Matlab versions I will describe the layout of the Python version of the dataset. The layout of the Matlab version is identical. The archive contains the files data_batch_1, data_batch_2, ..., data_batch_5, as well as test_batch. Each of these files is a Python "pickled" object produced with cPickle. Here is a python2 routine which will open such a file and return a dictionary: def unpickle(file): import cPickle with open(file, 'rb') as fo: dict = cPickle.load(fo) return dict And a python3 version: def unpickle(file): import pickle with open(file, 'rb') as fo: dict = pickle.load(fo, encoding='bytes') return dict Loaded in this way, each of the batch files contains a dictionary with the following elements: data -- a 10000x3072 numpy array of uint8s. Each row of the array stores a 32x32 colour image. The first 1024 entries contain the red channel values, the next 1024 the green, and the final 1024 the blue. The image is stored in row-major order, so that the first 32 entries of the array are the red channel values of the first row of the image. labels -- a list of 10000 numbers in the range 0-9. The number at index i indicates the label of the ith image in the array data. The dataset contains another file, called batches.meta. It too contains a Python dictionary object. It has the following entries: label_names -- a 10-element list which gives meaningful names to the numeric labels in the labels array described above. For example, label_names[0] == "airplane", label_names[1] == "automobile", etc. 采用Resnet34对cifar-10数据集进行分类(Pytorch等) 分类范式:输入-模型-分类
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值