目录一些算法排序算法分治动态规划 一些算法排序算法1.冒泡:1.时间复杂度:平均O(n2),最好O(n),最坏O(n2)    空间复杂度:O(1)    稳定(没有发生跳跃式的交换:排序前后相同数字的前后顺序没有改变)    每次将最大的数放到后面public static int[] bubbleSort(int[] arr) { if(arr == null || arr.
概要本文总结面试常见的排序算法,及基本的实现java 话不多说,先上干货。一、算法的复杂度及稳定性 稳定的排序算法是:冒泡排序,直接插入排序,归并排序,基数排序,二叉树排序,计数排序。 不稳定的排序算法:选择排序,快速排序,堆排序,希尔排序。二、算法的实现面试中常见的算法: 快速排序>归并排序>堆排序>冒泡>插入>选择。下面依次实现各排序算法。1. 快速排序算法
常见算法1、7种常见排序算法1.1、冒泡排序1.2、简单选择排序1.3、直接插入排序1.4、希尔排序1.5、归并排序1.6、快速排序1.7、堆排序 1、7种常见排序算法7种常见排序算法的时间复杂度、辅助空间以及稳定性对照表。排序算法平均情况最好情况最坏情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定简单选择排序O(n^2)O(n^2)O()n^2O(1)稳定直接插入排序O(
排序算法重要性不言而喻,很多算法问题往往选择一个好的排序算法往往问题可以迎刃而解1、冒泡算法冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。也就是双重循环就可以搞
算法程序题:    该公司笔试题就1个,要求在10分钟内作完。    题目如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。   基本思路: 1 把问题归结为图结构的遍历问题。实际上6个数字就是六个结点
转载 2023-06-10 21:44:07
127阅读
从大学到现在,参加过很多面试,经常会被问到一些基本的算法题,而大部分算法的理论及思想,我们曾经都能倒背如流,并且也用语言实现过,可由于在项目开发中应用的比较少,久而久之就忘记了,造成在面试中很尴尬的局面,然后回来查阅相关资料才发现就那么一回事,怎么在面试中就卡壳了呢?在此写下我在面试中经常被问到的一些基本的算法,全当复习。 一、冒泡排序 1.packa
转载 2023-08-02 13:21:29
112阅读
1、一群猴子排成一圈
原创 2022-11-25 12:00:53
244阅读
原标题:Java算法面试题汇总1. 字符串如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法。toCharArray() // 获得字符串对应的char数组 Arrays.sort() // 数组排序 Arrays.toString(char[] a) // 数组转成字符串 charAt(int x) // 获得某个索引处的字符 length() // 字符串长度 length // 数
1、题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数的非递归解法例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:把该正整数表示为十进制的字符串:an-1an-2…a0,其中an-1为最高位,a0为最低位(个位),按最高位、最低位、中...
转载 2012-10-08 19:28:00
25阅读
2评论
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。【问题一】有一对兔子,从出生
原创 2021-01-05 19:17:45
359阅读
算法题目​1、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?2、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。3、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。4、请输入
原创 2022-04-14 18:26:03
165阅读
1、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?3、一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?
原创 2022-05-07 21:13:58
283阅读
JAVA经典算法50题(1)【面试+工作】【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个
原创 2022-04-06 16:04:25
152阅读
JAVA经典算法50题(5)【面试+工作】【程序41】 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子
原创 2022-04-06 16:05:52
160阅读
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。程序代码如下:package com.yoodb.util;public class Demo01 {  public static void main(String[] args) {    int count = 0;  
原创 2021-01-05 18:56:55
369阅读
算法题目1、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?2、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。3、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。4、请输入星
原创 2021-01-05 19:17:14
1197阅读
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
原创 2022-04-14 17:34:47
133阅读
JAVA经典算法50题(3)【面试+工作】【程序21】 题目:求1+2!+3!+...+20!的和。1.
原创 2022-04-06 16:04:54
140阅读
JAVA经典算法50题(4)【面试+工作】【程序31】 题目:将一个数组逆序输出。程序分析:用第一个与最
原创 2022-04-06 16:05:19
121阅读
如题,贪心算法隶属于提高算法效率的方法,也常与动态规划的思路相挂钩或一同出现。下面介绍几个经典贪心问题。(参考自刘汝佳著《算法竞赛入门经典》)。P.S.下文皆是我一个字一个字敲出来的,绝对“童叟无欺”,哈哈。(。⌒∇⌒) 耗费了我的很多时间,所以——希望对大家有帮助啊~ (=^‸^=)一、背包相关问题1.最优装载问题:给出N个物体,有一定重量。请选择尽量多的物体,使总重量不超过C。解法:只关心数量
  • 1
  • 2
  • 3
  • 4
  • 5