数据结构与算法
程序小白大师球
小白攻城狮
展开
-
JAVA笔记:算法与数据结构【选择排序】
简介 选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]到arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]到arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]到arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1...原创 2019-12-03 14:25:18 · 87 阅读 · 0 评论 -
JAVA笔记:算法与数据结构【冒泡排序】
简介 冒泡排序(Bubble Sorting)的基本思想是:通过对待 排序序列从前向后(从下标较小的元素开始),依次比较 相邻元素的值,若发现逆序则交换,使值较大 的元素逐渐从前移向后部,就象水底下的气泡一样逐渐 向上冒 package com.sort; import java.util.Arrays; /** * @author GodLike * @create 2019-12-02-1...原创 2019-12-02 14:49:44 · 230 阅读 · 0 评论 -
JAVA笔记:算法与数据结构【算法时间复杂度】
时间频度 基本介绍: 时间频度:一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n) 时间复杂度 一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n) / f(n) 的极限值为不等于零的常数,则称f(n)是T...原创 2019-11-29 14:50:27 · 132 阅读 · 0 评论 -
JAVA笔记:算法与数据结构【递归--八皇后问题】
八皇后问题介绍 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 92种 package com.Queue8; /** * @author GodLike * @create 2019-11-19-14:...原创 2019-11-20 15:03:47 · 177 阅读 · 0 评论 -
JAVA笔记:算法与数据结构【递归--迷宫问题】
递归 递归需要遵守的重要规则 执行一个方法时,就创建一个新的受保护的独立空间(栈空间) 方法的局部变量是独立的,不会相互影响, 比如n变量 如果方法中使用的是引用类型变量(比如数组),就会共享该引用类型的数据. 递归必须向退出递归的条件逼近,否则就是无限递归,出现StackOverflowError,死龟了:) 当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同...原创 2019-11-17 15:57:36 · 163 阅读 · 0 评论 -
JAVA笔记:算法与数据结构【单链表】
背景:用JAVA实现单链表的所有操作( 目录 创建带头节点head的类SingleLinkedList.java 创建类SingleLinkdeListMan,用于实现对SingleLinkedlist的所有操作 创建头节点 添加节点方式一:直接添加在末尾 添加节点方式二:自动有序化(添加无序,但是会自动排序) 打印链表 指定有哪个头节点开始打印链表 修改链表节点属性(demo只改名字和绰号) ...原创 2019-10-12 12:24:34 · 209 阅读 · 0 评论