一:概述 前面二维数组2中说了二维数组的内存图和遍历,在这里说一下二维数组的例子。 二:具体说明 <1>案例案例1:二维数组元素的打乱 二维数组和一维数组的打乱相似,都是通过交换去实现的。不同的是交换的内容不同而已。 同样需要用到随机数的使用。 假设有一个二维数组int[][]arr={{1,5,7},{6,8,9},{11,23,34},{56,3,2},{4,6,87}};需要对其进行打乱 具体步骤: <1>定义这个数组 <2>创建随机数对象 <3>遍历二维数组,在里面通过随机数,进行元素的打乱,本质上二维数组的打乱其实就是其内部索引的打乱...

一:概述 在使用idea项目中创建包时,创建的时候,怎么创建都是只有一个包,当里面有一个类时,才可以进行创建下面的包,这样很麻烦。弄了半天终于解决了。 二:具体解决步骤 具体问题截图: <1>点击右侧的小齿轮设置    <2>点击之后会出来以下的界面    <3>接下来点击TreeAppearance <4>点击完成之后,出现下面的选型 <5>将CompactMiddlePackages对勾去掉 设置完成之后发下当前项目里面创建的包已经为树形结构了。

  kIM7GUNpnV3x   2023年12月23日   99   0   0 ide树形结构树形结构ide

TypeErrorTraceback(mostrecentcalllast) CellIn[58],line161 159plt.xlabel("FPR") 160plt.ylabel("TPR") -->161plt.annotate(xy=(.4,.2),xytext=(.5,.2),s='ROCcurve(area=%0.2f)'%auc_test) TypeError:annotate()missing1requiredpositionalargument:'text' 后面百度查了一下发现,matplotlib3.3及以后,将这个函数中的参数s改为了test。&nbs...

一:具体描述 具体程序代码: importnumpyasnp importpandasaspd importos,sys fromsklearn.decompositionimportPCA fromPILimportImage,ImageShow 数据集 dataSetsPath="D:/Download/orl_faces/" data_dict={"dirName":[],"dirPath":[],"imgArr":[]} forix,fileinenumerate(os.walk(dataSetsPath)): dir_path,dir_name,content_name=file...

  kIM7GUNpnV3x   2023年12月06日   50   0   0 ide数据集Image

一:概述 冒泡排序的每一个元素都可以像小气泡一样,根据自身的大小,一点一点地向着数组的一侧移动。算法的每一轮都是从左到右比较元素,进行单向的位置交换的。 鸡尾酒排序做了怎样的优化: 鸡尾酒排序的元素比较和交换过程是双向的。 二:举例子 由9个数字组成的无序数列{2,3,4,5,6,7,1,9,8},对其我们希望从小到大的排序。 如果按照冒泡排序的思想,排序过程如下。 元素2,3,4,5,6,7,8,9都已经是有序的了,只有元素1的位置不对,却还要进行第8轮排序。 鸡尾酒排序就是解决这种问题的。 下面来说一说这个鸡尾酒排序的具体内容: 第一轮(和冒泡排序一样,8和9交换) 第二轮 此时开始不...

  kIM7GUNpnV3x   2023年12月06日   17   0   0 鸡尾酒排序冒泡排序赋值

一:概述 快速排序、归并排序、堆排序等都是比冒泡排序更快的算法。其中快速排序是从冒泡排序演变而来。 快速排序之所以比冒泡排序要快是因为它用了分治法。      二:具体说明 同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较进行比较和交换位置来达到排序的目的。 不同的是,冒泡排序在每一轮中只把一个元素冒泡到数列的一端,而快速排序则在每一轮挑选一个基准元素,并让其把比它的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成两个部分。 上图这种思路就是分治法。 每次把数列分成两部分,好处就是: 假如给出一个8个元素的数列,一般情况...

  kIM7GUNpnV3x   2023年12月06日   12   0   0 快速排序时间复杂度冒泡排序

一:概述 基准元素,英文是pivot,在分治的过程中,基准元素为中心,把其他的元素移动到它的左右两边。 二:具体说明 最简单的方式就是选择数列的第1个元素。 这种选择在绝大多数情况下是没有问题的。但是,假如有一个原本逆序的数列,期望排列成顺序数列,那会出现什么情况呢? 整个数列被分成了两部分,每一轮都只确定了基准元素的位置。数列的第一个元素要么是最小值,要么是最大值,根本无法发挥分治法的优势。在这种极端的情况下,快速排序需要进行n轮,时间复杂度退化成了O(n^2)。 为了避免这种情况的发生,可以采取下面的方式去解决。 其实,我们可以随机选择一个元素作为基准元素,并且让基准元素和数列首元...

  kIM7GUNpnV3x   2023年12月06日   18   0   0 快速排序时间复杂度最小值

一:概述 选定了基准元素之后,我i们要做的就是把其他元素中小于基准元素的都交换到基准元素的一边,大于基准元素的都交换到另一边。 二:具体说明 具体的实现有两种方法: 单边循环法 双边循环法 在这篇博文里先说一下双边循环法。 双边循环法是什么呢?下面是它的详细过程。 给出原始数列如下,要求对其从小到大进行排序。 首先,选定基准元素pivot,并且设置两个指针eft和right,指向数列的最左边和最右边两个元素。 接下来进行第一次循环,从right指针开始,让指针所指向的元素和基准元素做比较。如果大于或等于pivot,则·指针向左移动;如果小于pivot,则right指针停止移动,切换到l...

  kIM7GUNpnV3x   2023年12月06日   17   0   0 递归快速排序数组

一:概述 双边循环法从数组的两边交替遍历元素,虽然更加直观,但是代码实现比较繁琐。而单边循环法则简单许多,只从数组的一边对元素进行遍历合交换。 二:具体说明 给定的原始数组如下图所示: 开始和双边循环法相似,首先选定基准元素pivot。同时,设置一个mark指针指向起始的位置,这个mark指针代表小于基准元素的区域边界. 接下来,从基准元素的下一个位置开始遍历数组。 如果遍历到的元素大于基准元素,就继续往后遍历。 如果遍历到的元素小于基准元素,则需要做两件事:第一,把mark指针右移1位,因为小于pivot的区域边界增大了1;第二,让最新遍历到的元素和mark指针所在的位置的元素交换位...

  kIM7GUNpnV3x   2023年12月06日   17   0   0 区域边界递归数组

一:概述 原始的数列{4,8,6,3,9,2,1,7},执行至第6步和第7步时,数列状态如下: 很明显的可以看出,经过第6轮排序之后,整个数列已然是有序的了。可是排序算法依然是继续执行第7轮排序。 在这种情况下,如果能判断出数列已经有序,并作出标记,那么剩下的几轮就不必执行了,可以提前结束。 二:具体代码 优化的代码如下: publicstaticvoidsort(int[]array) { for(inti=0;i<array.length-1;i){ //有序标记,每一轮的初始值都是true booleanisSorted=true; for(intj=0;j<arr...

  kIM7GUNpnV3x   2023年11月28日   18   0   0 数列有序冒泡排序升序

一概述 在生活中,我们离不开排序。例如在学校站队时,会按照身高顺序进行排队。每一个月考或者期末的成绩都会按照成绩排名次。 在编程学习中,我们也会经常遇到排序的问题。这种排序的场景非常多。例如在开发一个学生管理系统时,需要按照学号的顺序从小到大去排列。当开发一个电商平台时,需要把同类的商品按照价格从低到高进行排序。当开发一款游戏时,需要按照游戏得分从多到少进行排序,排名第一的玩家就是比赛的MVP。 排序看起来简单,但却蕴含着多种多样的算法和思想。那么常用的排序算法都有:    根据时间复杂度的不同,主流的排序算法可以分为3大类: <1>时间复杂度为O(n...

  kIM7GUNpnV3x   2023年11月27日   13   0   0 时间复杂度排序算法冒泡排序

一:概述 队列的特点是:先进先出(FIFO).入队列,将元素置于队尾; 出队列,队头元素最先被移出: 优先队列不遵循先入先出的原则,而是分两种情况。 最大优先队列,无论入队顺序如何,都是当前最大的元素优先出队 最小优先队列,无论入队顺序如何,都是当前最小的元素优先出队。 例如有一个最大优先队列,其中的最大元素是8,那么虽然8不是队头元素,但出队时仍然让元素8首先出队。 需要实现上述的需求,利用线性数据结构并不能实现,但是时间复杂度较高。 二:具体说明 上述这个需求可以利用二叉堆去实现。 二叉堆的特性: 最大堆的堆顶是整个堆中的最大元素。 最小堆的堆顶是整个堆中的最小元素。 所以,...

  kIM7GUNpnV3x   2023年11月26日   21   0   0 优先队列出队二叉堆

一:概述 二叉堆:二叉堆本质上是一种完全二叉树,它分为两个类型。 最大堆 最小堆 二:最大堆与最小堆的具体说明 <1>最大堆 最大堆的任何一个父节点的值,值大于或等同于它左、右孩子节点的值。例子如下图所示: <2>最小堆 最小堆的任何一个父节点的值,都小于或等于它的左、右孩子节点的值。例子如下图所示: 二叉堆的根节点叫做堆顶。 最大堆和最小堆的特点决定了:最大堆的堆顶是整个堆中的最大元素;最小堆的堆顶是整个堆中最小的元素。 三:二叉堆的自我调整 二叉堆有以下的几种操作。 插入节点 删除节点 构建二叉堆 这几种操作都基于堆的自我调整。所谓堆的自我调整,就是...

  kIM7GUNpnV3x   2023年11月25日   16   0   0 最小堆二叉堆父节点

一:概述 深度优先遍历是在一个方向上“一头扎到底”,广度优先遍历则是与其相反的:在各个方向上各走出1步,再在各个方向上走出第2步、第3步.....一直到各个方向全部走完。听起来有些抽象,下面是通过二叉树的层序遍历,来看看广度优先遍历具体过程。 层序遍历,就是二叉树按照从根节点到叶子节点的层次关系,一层一层横向遍历各个节点。 如下图所示: 上图就是一个二叉树的层序遍历,每个节点左侧的序号代表该节点的输出顺序。可是,二叉树同一层次的节点之间是没有直接联系的,下面通过数据结构队列来讲解关于它的遍历。 二广度遍历具体过程 <1>根节点1进入队列。 <2>节点1出队,输出节点...

  kIM7GUNpnV3x   2023年11月24日   17   0   0 二叉树出队层序遍历

一概述 Numpy是一个最重要的一个基于多维数组对象,即ndarray对象,该对象具有矢量算数运算能力和复杂的广播能力,可以执行一些科学计算。它的常用属性如下表所示: 属性 说明 ndim 数组的维度,如一维、二维、三维等 shape 数组的形状,如一个5行4列的数组,它的shape属性为(5,4) size 数组元素的总个数,等于shape属性中的数组元素乘积,如7行4列的数组元素总个数为28个。 dtype 数组中元素的类型对象 itemsize 数组中元素的字节大小,如元素类型为int64的数组有8个(64/8)字节 二:具体实例 import...

  kIM7GUNpnV3x   2023年11月22日   20   0   0 中位数数组元素数组

我们经常会使用jupyter处理一些数据绘图,在pycharm中比较麻烦,在一次学校布置的作业中,要求完成图形的绘画处理,结果根据查找的绘图方法。发现利用seabron模块渲染运行之后,没有出现图形,出现了 &lt;Axes:&gt; <imgsrc="//dev-img.mos.moduyun.com/20231122/b8557584-bcdd-4418-8b07-05ed3c491ead.png"alt="利用jupyter绘图时,不显示图形,显示的解决办法_数据"style="visibility:visible;width:570px;" r 原代码: importnumpyasn...

  kIM7GUNpnV3x   2023年11月22日   17   0   0 3dpython数据

一:概述 绝大多数的可以用递归解决问题,也可以使用另一种数据结构来解决,这种数据结构就是栈。因为递归和栈都有回溯的特性。 二:具体说明 如何借助栈来实现二叉树的遍历,下面以二叉树的前序遍历为例,来阐述具体过程。 &lt;1&gt;首先遍历二叉树的根节点1,放入栈中。 &lt;2&gt;遍历根节点1的左孩子节点2,放入栈中。 &lt;3&gt;遍历节点2的左孩子节点4,放入栈中。 &lt;4&gt;节点4既没有左孩子,也没有右孩子,我们需要回溯到上一个节点2.如果不是做递归操作,怎么回溯呢? 栈可以存储刚才遍历的路径。让旧的栈顶元素4出栈,就可以重新访问节点2,得到节点2的右孩子5. 此...

  kIM7GUNpnV3x   2023年11月22日   14   0   0 前序遍历出栈入栈

一:概述 对于Linux系统来说,系统管理员可以通过SSH协议远程管理Linux进行安全通信.通常情况下,Linux系统管理员会同时管理多台Linx主机。通过SSH协议,用户就可以在多一台主机远程上管理所有的Linux系统。 二:SSH进行安全通信之因 关于SSH,相信你进行远程登录的时候已经有了一点赘述。我们使用SSH命令登录到远程主机中并在远程主机上执行命令,还有scp命令可以将文件在远程主机之间来回传输。SSH是scp是OpenSSH客户端,命令服务器是sshd,由OpenBSD项目开发。 使用ssh命令登录到远程主机或远程主机上执行命令,然后使用scp命令将文件复制到远程主机中。当用户...

  kIM7GUNpnV3x   2023年11月19日   24   0   0 服务器客户端身份验证

&lt;1&gt;在命令行对数据库进行操作时,查看数据库中表的数据时,出现乱码问题。 问题截图如下: 出现这种问题的原因是:表使用的编码是utf8,而命令行使用的是GBK 解决办法如下: 一开始,以为是数据库的字符集编码出现了问题但是,修改之后查询发现还是没有作用。 然后通过查找资料发现:表使用的编码是utf8,而命令行使用的是GBK 解决办法如下: 可通过输入以下的命令进行解决: SETcharacter_set_results=gbk; 输入之后,发现问题解决 &lt;2&gt;当出现不是乱码问题不是这个原因时,可根据以下的步骤解决: 1.首先,检查MySQL客户端字符编码,...

  kIM7GUNpnV3x   2023年11月19日   42   0   0 命令行数据库mysql

一:概述 系统中的防火墙可以限制从外部到内部访问,让用户只能访问特定的服务,这样可以防止他人非法入侵系统的内部。Linux系统提供了由IP分组的过滤和地址转换(NAT)的ip_tables、iptable_filter等多个Linux内核模块组成的Netfilter。防火墙可以在内外网上建立起一道屏障。 二:设置防火墙的规则 在CentOS中,firewalld包含在任何类型的安装中;在Ubuntu中,firewalld不包括在安装过程中,需要运行aptinstallfirewalld命令安装firewalld软件包。ufw(非复杂防火墙)命令是缺省情况下提供一个防火墙命令,它是iptable...

  kIM7GUNpnV3x   2023年11月19日   27   0   0 应用程序ubuntucentos
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~