自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 八大排序之希尔排序

介绍:希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止。实现步骤:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组

2022-01-12 17:05:00 84

原创 八大排序之归并排序

介绍:归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。实现步骤:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置第三步:比较两个指针所指向的元素,选择相对小的元素放入

2022-01-12 17:00:17 92

原创 八大排序之基数排序

介绍:基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。实现步骤以最高位是百位为例:第一步:首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中

2022-01-12 16:54:27 192

原创 逆波兰式的转换与计算

第一步:中缀表达式转后缀表达式转换规则:第二步:后缀表达式计算得值计算规则:代码实现:package calculator;import java.util.ArrayList;import java.util.List;import java.util.Stack;public class CalculatoDemo { public static void main(String[] args) { String origin = "2+

2022-01-12 16:44:38 315

原创 八皇后之穷举、回溯(递归)

解决八皇后问题有两种思路,这里作者会用两种思路都将其实现第一种是穷举法八皇后问题如果用穷举法需要尝试88=16,777,216种情况。每一列放一个皇后,可以放在第 1 行,第 2 行,……,直到第8行。穷举的时候从所有皇后都放在第1行的方案开始,检验皇后之间是否会相互攻击。如果会,把列H的皇后挪一格,验证下一个方案。移到底了就“进位”到列G的皇后挪一格,列H的皇后重新试过全部的8行。这种方法是非常低效率的,因为它并不是哪里有冲突就调整哪里,而是盲目地按既定顺序枚举所有的可能方案。穷举法代码:

2022-01-12 16:36:10 176

原创 物资信息管理系统(springboot+bootstrap+jquery+ajax适合才学完springboot的童鞋,基本的增删改查)

1.概述 本系统是基于Java设计的网页式开发项目,是一款用于物资管理人员对物资管理,其中包括对物资信息,出库物资信息,入库物资信息,物资信息余额等相关内容的管理,具有物资管理、用户管理、出库物资管理、入库物资管理、等相关功能的小型数据库管理应用系统。2.开发环境数据库:MySQL代码编写工具:IntelliJ IDEA 2019相关编译技术及工具:Jdk1.8 Springboot2.7 Spring SpringMVC Mybatis Thymeleaf Bootstrap3...

2021-12-28 12:32:30 1808 2

原创 学生信息管理系统(python)

使用方式:当点击运行后控制台会弹出输入用户账号密码的提示,输入账号“admin”,单击回车,输入密码“123456”,单击回车,控制台会跳出主菜单(功能页面),每个功能选项前面都有编号,在控制台输入自己想要实现功能的编号,即可跳转转到相应功能页面,实现该功能,在用户完成功能实现之后,可以选择将本次的增删改查保存到文件,下次打开本管理系统时,选择读取文件中学生信息的功能选项,即可将上次保存的学生信息读取到内存中。运行效果图:源代码:def menu(): menu_info.

2021-12-28 12:15:15 891

原创 模拟实现分区存储管理的四种方法(附代码)

分区存储管理存储管理共有四种算法,这里先介绍一下这四种算法的基本思想1)首次适应基本思想:从头到位找合适的分区。2)最佳适应基本思想:优先找更小的分区,以保留更多更大的分区。3)最坏适应优先使用更大的分区,以防止产生太多的不可用的碎片。4)邻近适应每次从上次查找结束的地方开始查找一、(首次适应代码)package cn.edu.ncst;import java.util.ArrayList;import java.util.Arrays;import ja

2021-12-07 21:10:23 842

原创 八大排序之堆排序、快速排序、基数排序(java)。

首先我们来聊一聊堆排序,快速排序,基数排序的原理。一、堆排序 堆排序的原理是先构建大谷堆(或小谷堆),然后将堆顶元素与堆中最后一个元素进行替换,将最后一个元素取出,放在数组的最后面,依次循环,当把所有的元素取完,即构成一组有序数列。二、快速排序 首先在一个序列中随便找一个数作为基准数,通常是以第一个数为基数,然后设置两个少冰,分别指向第一个元素,和最后一个元素。当哨兵开始巡查时,先动右边的哨兵,如果遇到比基准数小的数则停止,移动左边的哨兵,当左边的哨兵指向的数大于...

2021-12-03 15:54:37 379 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除