数据结构与算法
会会会会
平时遇到的问题都在这里集合
展开
-
数据结构与算法之八皇后问题详解(强化版)
八皇后问题八皇后问题是典型的递归问题,每一次递归都是放置一个皇后在对应的行上。代码测试结果有92个答案。可以在代码中加入计数器记数。package day02;public class EightQueen { /** * 八皇后:一个8*8的棋盘,从第一行开始排皇后, 要求:各个皇后不能在同一列,同一斜线。求所有摆法。 解法:递归思想 * * @param args...原创 2019-08-13 19:46:52 · 607 阅读 · 0 评论 -
数据结构与算法之冒泡排序及其优化方法
冒泡排序从前往后比较两个相邻的元素。通过对待排序序列从前向后依次比较相邻的值,若发现逆序则交换,使数值较大的元素逐渐从前向后移动。共进行(数组容量-1)次排序优化方案冒泡排序的算法时间复杂度是O(n^2)代码块中的注释去掉之后就会减少运算次数定义一个标识符,如果发生了交换则把flag置为true,,然后再把flag置为false。如果没发生交换,这时!flag就是true,这就执行bre...原创 2019-08-14 15:48:54 · 136 阅读 · 0 评论 -
数据结构与算法之选择排序及其优化算法
选择排序原理:从欲排序的数组中,按指定的规则选出某一个元素,再按规定交换位置以达到位置交换的目的。从整个数组选取最小的数,然后与arr[0],交换。在从剩下的arr [1]到arr[n]选区最小值与arr[1]交换。共进行(数组容量-1)次排序,每轮都是新的循环。通俗一点理解就是1)先假定一组数组的第一个位置是最小值,记录他的值及其序号,2)然后用这个值与整个数组其他的数进行比较,3)得...原创 2019-08-14 20:28:23 · 140 阅读 · 0 评论 -
数据结构与算法之插入排序及详细代码
插入排序:(Inserting Sorting)把n个待排序的元素看成一个有序表和一个无序表。开始时有序表只包含一个元素,无序表包含n-1个元素。排序过程: 每次从无序表中取出第一个元素,把他的排序码依次与有序元素的排序码进行比较,将他插入到有序表中的适当位置,形成新的有序表。package day15;import java.util.Arrays;public class In...原创 2019-08-21 19:20:07 · 343 阅读 · 0 评论