public class SortAndSearch {
static int[] x = {1,5,3,8,6};
/**
* @param args
*/
public static void main(String[] args) {
bubbleSort(x);
for(int i=0;i<x.length;i++){
//System.out.println(i>>2);
}
int pos = binarySearch(x,6);
System.out.println(pos);
}
//冒泡排序
public static void bubbleSort(int[] x){
for(int i=0;i<x.length-1;i++){
for(int j=i+1;j<x.length;j++){
if(x[i]>x[j]){
swap(i,j);
}
}
}
}
//交换数组两个位置的值
public static void swap(int i,int j){
int temp = x[i];
x[i]=x[j];
x[j]=temp;
}
//二分查找
public static int binarySearch(int[] x,int target){
int low = 0;
int high = x.length-1;
while(low<=high){
int mid = low+(high-low)/2;
if(x[mid]==target){
return mid;
}else if(x[mid]<target){
low = mid+1;
}else{
high=mid-1;
}
}
return -1;
}
}
代码比较简单,就不做过多注释
分享到:
相关推荐
"算法的学习资料,多积累多积累"这个标题暗示了积累算法知识对于个人职业发展的重要性,特别是对于寻找新的工作机会而言。在当前竞争激烈的IT市场,熟练掌握并理解各种算法能提升解决问题的能力,从而增加就业市场的...
本资料详细解析了PID算法的原理及其在实际应用中的推演过程,旨在帮助学习者深入理解这一核心概念。 首先,我们从比例(P)部分开始。比例控制是PID算法的基础,它直接反映了输入偏差(e)与控制输出(u)之间的线性关系...
随着信息技术的快速发展,机器学习算法已经成为数据分析领域不可或缺的工具,尤其在数据分类问题中展现出巨大的应用价值。本文主要探讨了机器学习算法的概念,以及它如何优化数据分类标准,提高数据分类精度,并预测...
这个压缩包提供了一个实践主动学习和半监督学习算法的平台,通过对"fenleng.m"代码的解读和运行,学习者可以更直观地感受这两种学习策略在处理数据不充分问题时的有效性和灵活性,为自己的机器学习研究或项目开发...
这十大机器学习算法各有其特点和适用场景,有的算法如C4.5和K-means适合数据挖掘和聚类分析,有的算法如朴素贝叶斯和决策树适合文本和垃圾邮件分类,而有些算法如SVM和PageRank则在模式识别和网络分析中有更广泛的...
在强化学习的众多算法中,蒙特卡洛方法(Monte Carlo)占据着重要的地位,特别是在解决复杂问题时展现出了强大的能力。 蒙特卡洛算法,源自统计学中的随机抽样技术,它利用大量的随机试验来解决问题,尤其适用于...
"算法题积累"作为一份珍贵的学习资料,它记录了算法学习者在掌握和应用这些核心工具过程中的实践与心得,对提升编程技能和逻辑思维能力具有极大帮助。 当我们谈论"常用的算法"时,我们指的是一系列在实际应用中频繁...
本文提出的基于自适适应探索改进的深度增强学习算法可以提高agent 的学习效率和学习质量,解决了增强学习中的探索/开发折中问题,并可以应用于其他机器学习领域。 关键词:深度增强学习、探索/开发平衡、VDBE、...
数据结构与算法是计算机科学的基础...通过上述资源,你可以系统地学习数据结构与算法,不断积累实践经验,提升编程能力。记住,理解和掌握数据结构与算法是提升编程技能的关键步骤,也是通往高级软件工程师之路的基石。
Python中的Scikit-learn库提供了大量的机器学习算法,如监督学习的分类和回归算法,非监督学习的聚类算法,以及强化学习等。 二、数据预处理 在进行机器学习之前,数据预处理至关重要。包括数据清洗、缺失值处理、...
在Java编程领域,麻将算法是游戏开发中的一个重要组成部分,尤其对于设计复杂的AI系统而言。本压缩包"majiang_algorithm-master.zip"包含了一系列与麻将相关的算法实现,如胡牌算法、AI算法、查胡算法、评估算法和出...
3. 自学习参数寻优算法的提出:为了解决现有控制算法中存在的问题,文章提出了一种基于自学习参数寻优算法的自适应控制器。这种控制器不依赖于精确的数学模型,通过多次学习和训练,能够寻找到最优的控制参数。该...
在解决这些问题的过程中,学生可以积累丰富的解题经验,提高编程能力。 “-计算机系-2006.doc”文档,作为早期的计算机系算法考试试卷或课程大纲,为学生提供了过去的学习重点和考试趋势,这有助于学生了解算法教学...
神经网络是一系列算法的总称,它们模拟人脑中的神经元网络结构来进行学习和预测。 - **工作原理**:神经网络由多个层次构成,包括输入层、隐藏层和输出层。每一层都包含多个神经元(或节点),神经元之间通过加权...
这个压缩包“菜鸟级PID算法学习专用测试程序.zip_PID算法学习”显然包含了一个适合初学者的PID算法编程实例,主要文件是“菜鸟级PID算法学习专用测试程序.c”,这是一个C语言编写的源代码文件。 首先,我们要理解...
在本文中,我们将深入探讨如何使用两种先进的强化学习算法,即Asynchronous Advantage Actor-Critic (A3C) 和 Deep Deterministic Policy Gradient (DDPG),来设计并实现一个双足步行者游戏的训练过程。这两种算法在...
《用于最优化的计算智能》虽然可能不完全局限于遗传算法,但将遗传算法作为计算智能中的一个重要组成部分进行探讨。书中可能讲述了遗传算法与其他智能优化方法(如模糊逻辑、神经网络、粒子群优化等)的结合与对比。...
而在mountain_car_q中,算法需要学习如何在负向移动中积累足够的速度以克服重力,达到山顶。SAC的优势在于其内在的探索机制,可能在解决像mountain_car这样需要深度探索的问题时表现得更好。 5. gym_solutions-main...