![](https://img-blog.csdnimg.cn/649769efc94a405196c0f0cfc5dbcfad.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构和算法
文章平均质量分 56
介绍数据结构和算法的使用
Mr.Aholic
全栈开发工程师 主java后端。喜欢旅游,已经旅游的城市地点:河南老家、广州、佛山、深圳、上海、山西、长沙、张家界、武汉、新疆-乌鲁木齐、新疆-吐鲁番、云南-昆明,郑州等。备考明年的 高级系统分析师 和 系统架构师【2022届毕业生---软件工程专业】
展开
-
算法设计(动态规划应用实验报告)实现基于贪婪技术思想的Prim算法、Dijkstra算法
实现基于贪婪技术思想的Prim算法、Dijkstra算法原创 2022-06-25 23:44:43 · 729 阅读 · 1 评论 -
算法设计(动态规划实验报告) 基于动态规划的背包问题、Warshall算法和Floyd算法
动态规划法应用1.掌握动态规划法的基本思想;2.学会运用动态规划法解决实际设计应用中碰到的问题。1.基于动态规划法思想解决背包问题(递归或自底向上的实现均可);2.实现基于动态规划法思想的Warshall算法和Floyd算法。2.2、解决背包问题的源代码实现2.3、时间效率分析动态法实现背包问题,动态的增加背包的容量,保证放入的商品价值始终是最大的。判断每次新放入的商品和之前放入的商品价值之间的价值比较。比之前的价值大则放入背包。小则不放入。时间效率为Tn=(n).2.2、warshall算法原创 2022-06-25 23:32:07 · 1072 阅读 · 1 评论 -
算法设计 (分治法应用实验报告)基于分治法的合并排序、快速排序、最近对问题
分治法应用1.掌握分治法的基本思想;2.学会运用分治法解决实际系统设计应用中碰到的问题。1.实现基于分治法思想的合并排序;2.实现基于分治法思想的快速排序;3.利用分治法解二维的最近对问题。1.2、合并排序的源代码实现1.3 合并排序的时间效率分析当待排序的元素只有一个时,T(n)=O(1);当n>1时,所需总时间为,拆分元素的时间(查找中间元素的位置)需要时间O(n)。解决子问题,递归求解两个规模为n/2的子问题,所需时间2T(n/2)。n个元素合并,需要O(n)。所需总时间为T(n)=原创 2022-06-25 23:14:53 · 2646 阅读 · 0 评论 -
算法分析(蛮力法与减治算法应用实验报告)
蛮力法与减治算法应用1.掌握蛮力法和减治法的基本思想;2.学会运用蛮力法和减治算法解决实际系统设计应用中碰到的问题。1.2、代码实现1.3、背包问题的时间效率分析将前i件物品放入容量为v的背包中”这个子问题,若只考虑第i件物品的策略(放或不放),那么就可以转化为一个只牵扯前i-1件物品的问题。如果不放第i件物品,那么问题就转化为“前i-1件物品放入容量为v的背包中”,价值为f[i-1][v];如果放第i件物品,那么问题就转化为“前i-1件物品放入剩下的容量为v-c[i]的背包中”,此时能获得的最大原创 2022-06-25 23:02:34 · 1341 阅读 · 1 评论 -
数据结构二叉树
二叉树树二叉树1、每个节点最多只能有两个子节点的一种形式称为二叉树2、二叉树的子节点分为左节点和右节点原创 2021-08-18 17:22:47 · 194 阅读 · 1 评论 -
数据结构中的哈希表(java实现)利用哈希表实现学生信息的存储
哈希表解释:内存结构分析图各个部分的分析代码实现原创 2021-08-18 09:43:14 · 1186 阅读 · 1 评论 -
java中的队列
java中的队列常见的数据结构:https://blog.csdn.net/weixin_43304253/article/details/119764275原创 2021-08-17 19:47:36 · 226 阅读 · 1 评论 -
java中的栈(利用数组实现栈)
java中的栈原创 2021-08-17 19:44:58 · 1299 阅读 · 3 评论 -
数据结构中的 线性结构和非线性结构
数据结构中的 线性结构和非线性结构线性结构:1、最常用的数据结构、元素之间存在一对一的线性关系2、两种不同的存储方式,顺序存储结构,链式存储结构。3、顺序存储结构称为顺序表,顺序表中的存储元素是连续的。4、链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点存放数据元素以及相邻元素的地址信息5、线性结构常见的有:数组、队列、链表、栈单链表 :https://blog.csdn.net/weixin_43304253/article/details/119758276双向链表原创 2021-08-17 19:39:11 · 2254 阅读 · 1 评论 -
java实现双向链表的增删改查
双向链表的增删改查基本结构1、增加操作1、链接cur与pre和next,其中的next是pre的下一个节点2、用cur重新连接在尾部添加代码实现 //添加 从尾部添加 public void addEnd(Student1 student1){ Student1 temp=head1;//辅助 while(true){ if(temp.next==null){ break;原创 2021-08-17 17:39:41 · 660 阅读 · 3 评论 -
java实现单链表的创建、增、删、改、查
单链表的创建、增、删、改、查单链表:单链表中的每个节点不仅包含储存的数据,还包含指向下一个节点的链接。定义节点://定义节点class Node { public Node next;//指向下一个新的节点 int val; public Node(int val) {//通过构造函数赋值 this.val = val; }}1、增加一个节点1、新创建一个节点2、将cur的next指向pre的next3、将pre的next指向原创 2021-08-17 16:14:38 · 2196 阅读 · 2 评论