自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构--树(2):哈夫曼树

在构造哈夫曼树时,首先选择权值小的结点,这样保证权值大的结点离根结点较近,这样一来,在计算树的带权路径长度时,自然会得到最小带权路径长度,这种生成算法是一种典型的贪心法。约定哈夫曼树中 左分支标记为 0,右分支标记为 1,则根结点到每个叶子结点路径上的 0、1 序列即为相应字符的编码。哈夫曼树是一种带权路径长度最短的二叉树,又称最优树。哈夫曼树并不唯一,但其带权路径长度必然相同且最优。Java实现哈夫曼树。

2025-01-16 16:10:22 127

原创 数据结构--链表(4):链栈

链表是另一种实现栈的方式,它允许在O(1)时间复杂度内进行元素的添加和移除。链表实现的栈不会有栈满的情况,因为它不是基于预先分配的存储空间。类是基于链表结构实现的,符合链栈的特点,因此把它归为链栈。Java集合框架中的。类本身就提供了栈的操作方法,如。Python实现链栈。

2025-01-16 09:21:14 186

原创 数据结构--线性表(2):顺序栈

方法用于移除列表末尾的元素(出栈)。由于列表的这些操作都是在末尾进行,因此它们的时间复杂度为O(1);是Python中的双端队列实现,它提供了从两端添加和移除元素的方法,这使得它也可以作为栈的实现。Python的列表(List)可以作为栈的一种简单实现方式。顺序栈是基于数组实现的栈,在栈顶插入一个元素,时间复杂度为。内存浪费(栈的空间预留过大-->占了不用);空间限制(栈的大小需要提前确定);当栈满时,需要扩容,扩容操作的时间复杂度为。的子类,实现了标准的后进先出的栈结构。类本身就提供了栈的操作方法,如。

2025-01-16 09:01:39 124

原创 数据结构--链表(3):循环链表

循环链表是一种特殊的链表结构,其中尾节点指向头节点,形成一个闭环。在这种链表中,任何节点都可以是头节点或尾节点。Python实现循环列表。Java实现循环列表。

2025-01-15 16:40:14 182

原创 数据结构--链表(2) :双向链表

双向链表是一种链表数据结构,其中每个节点包含两个指针,分别指向前驱节点和后继节点。这种结构使得在链表中进行插入、删除等操作更加高效,因为可以直接访问前驱节点和后继节点。是一个序列容器,它允许在任何位置进行高效的插入和删除操作。与自定义的双向链表不同,类就是双向链表的一个实现,它提供了丰富的方法来操作链表数据。在C++标准模板库(STL)中,双向链表由。等,使得操作双向链表更加方便。Java用户自己创建双向链表。Python实现双向链表。提供了丰富的成员函数,如。Java实现双向链表。

2025-01-15 15:25:37 193

原创 数据结构--链表(1):单链表

用一组任意的存储单元存放线性表中的数据元素。链表中的数据是以结点表示的,每个结点由元素和指针组成。插入和删除,如果已知前驱节点为O(1),否则为O(n)时间复杂度:查找和遍历为O(n)优点:插入、删除效率高;Python实现单链表。

2025-01-15 11:55:02 137

原创 数据结构--线性表(1)

插入数据和删除数据为O(n)当线性表长度较大时,难以确定存储空间的容量;优点:无须为表中元素之间的逻辑关系而增加额外的存储空间;可以快速的存取表中任一位置的元素。概念:用一组地址连续的存储单元依次存储线性表的数据元素。造成存储空间的“碎片”。时间复杂度:读取数据和存入数据为O(1)缺点:插入和删除操作需要移动大量元素;实现方式:一般用数组实现。Python实现顺序表。

2025-01-15 10:35:49 121

原创 逻辑运算符

<左移运算符 9<<2 在二进制下将9的所有位数左移2位,最左边的2位舍去,最右边补0。>>右移运算符 9>>2 在二进制下将9的所有位数右移2位,最右边的2位舍去,最左边补0。>>>无符号右移运算符 负数在进行无符号右移时会变成正数。或运算符| 做或运算,两个数中只要有一个为1则结果为1。与运算符& 做与运算,两个数都为1则结果为1。异或运算符^ 两个数不同则结果为1。Java中的逻辑运算符有。

2023-03-22 10:07:07 142

原创 均分纸牌问题(c++实现)

均分纸牌问题算法设计与分析c++实现

2022-11-25 17:12:13 1249

原创 跳跳--openjudge练习题(c++)

“跳跳”问题 C++实现

2022-11-25 17:10:06 190

原创 最大子段和

动态规划算法解决最大子段和问题

2022-11-22 15:26:23 110

原创 最长公共子序列

动态规划算法求最长公共子序列

2022-11-22 13:34:40 672

原创 计算机组成原理整理——运算方法(一)

数值分类机器数与真值原码、补码、与反码

2022-06-28 20:41:52 231

原创 计算机组成原理整理——DMA

.DMA与主存交换数据时采用的方法什么叫周期挪用DMA的工作过程

2022-06-28 19:55:50 1377

原创 简述DRAM与SRAM的区别

DRAM与SRAM的区别

2022-06-28 19:30:26 5757

原创 java openjudge练习题(31—40)

31:Checking order32:首字母大写33:优美字符串34:小白鼠再排队35:中位数37:Problem N:矩阵交换行38:求字符串长度40:最大正向匹配

2022-06-14 23:54:19 775

原创 java openjudge练习题(21—30)

java openjudge练习题(21—30)

2022-06-13 21:59:15 601

原创 java openjudge练习题(11—20)

java openjudge练习题(11—20)

2022-06-13 21:24:12 486

原创 java openjudge练习题(01—10)

java openjudge练习题(01—10)

2022-06-12 23:26:23 1296

原创 java的基本语法

java的基本语法

2022-06-12 16:17:20 215

原创 Java练习题笔记(二)

六、异常处理、常用类1、 源文件中有package com.sdau.studentManage语句,则里面定义的类会放在磁盘的com/sdau/studentManage(三级目录)目录中。2、处理异常时,要把异常发生与否都要执行的语句放在finally语句块中。3、异常处理时,catch块可以有 多 个,要把 子类 异常放在前面。4、抛出异常用 throw 语句,方法声明后通知上级方法要处理的异常列表用 throws 引导。5、eclipse中自动导包的快捷键是 ctrl+shift

2022-05-23 21:40:08 235

原创 Java练习题笔记(一)

一,基本语法1,String不是基本数据类型2,Java源文件中有一个公共类名称为Test,则该源文件名必须是:Test.java3,Eclipse中内容补全的快捷键是 alt+/4,java 源文件编译后的文件扩展名为 .class5,定义方法时的参数叫 形参 ,调用方法时传入的参数叫 实参。6,java中通过类名直接调用的方法叫类方法或静态方法,需要加 static 关键词修饰。二,数组、字符串1,int[][] a=new int[5][6],则a.length的值为

2022-05-16 20:34:50 498

空空如也

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

TA关注的人

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