![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
ipllt
能让你走下去的,是对知识的渴求与无数个孤独寂静的深夜中的思考和沉淀。
展开
-
排序算法:选择排序
//选择排序 /*给定一组记录,经过第一轮比较找到最小的记录,将该记录与第一个记录的位置进行交换, * 下一轮对不包括第一个记录以外的其他记录进行第二轮比较,得到最小记录并与第二个记录进行位置交换 * 以此类推 * */ class Demo1{ public static void main(String[] args){ int[] arr...原创 2018-09-18 20:50:19 · 131 阅读 · 0 评论 -
编程算法题:101个数字,[1,100]中有一个是重复的,找出这个重复的数字。
编程算法题:101个数字,[0,100]中有一个是重复的,找出这个重复的数字。思路1:0~100肯定都存在,可以给数组求和然后减去0~100的和,剩下的就是重复的数字;代码如下:public class FindNumber { public static void main(String[] args) { int[] i = new int[101]; findnumber...原创 2018-10-10 00:40:10 · 5492 阅读 · 4 评论 -
求1!+2!+3!···+···+n!
//普通算法 public static void fun(int n) { int sum = 0; int temp = 1; for(int i=1; i<=n; i++) { temp = temp * i; sum += temp; } Sys...原创 2018-10-17 20:14:36 · 1150 阅读 · 0 评论 -
代码图解二分查找法
二分查找(更多算法题请看我博客个人分类--算法) 需求:定义一个函数,接收一个数组与要查找的元素,然后返回元素在数组中 索引值,如果不存在,使用 -1表示 二分法(折半查找法):只适用于有序的数组class Demo3 { public static void main(String[] args)...原创 2018-10-25 22:31:48 · 350 阅读 · 0 评论 -
代码图解冒泡排序算法
冒泡排序 (选择排序,二分查找等算法请看我博客个人分类--算法) 需求:把最大值放在倒数第一个位置 冒泡排序原理: 相邻两个元素比较一次,符合条件的交换位置 class Demo2 { public static void main(String[] args) { int[] arr = {37,21,24,1...原创 2018-10-25 22:42:45 · 182 阅读 · 0 评论 -
图解:输入任意一个数值,打印一个螺旋矩阵(二维数组)
更多算法题请看本人博客分类--算法 public class Demo11 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true){ int n = sc.nextInt(); if(n == -1){ break;...原创 2018-10-25 22:51:53 · 3490 阅读 · 0 评论 -
数据结构与算法 逻辑结构与物理结构
程序=数据结构+算法数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。数据:数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素:数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,也称为记录。...原创 2018-11-26 15:40:38 · 469 阅读 · 0 评论 -
数据结构与算法 时间复杂度和空间复杂度
在理解算法的时间复杂度和空间复杂度之前,我们先复习一些算法的基本知识。算法的定义: 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法的五个基本特性: 输入和输出:算法有零个或多个输入,至少有一个或者多个输出。 有穷性:算法在执行有限的步骤之后,自动结束,而且不会出现无限循环,并且每一个步骤在可接受的时间内完...原创 2019-03-16 16:49:48 · 307 阅读 · 0 评论