
数据结构的魅力
文章平均质量分 58
染沁半世苍凉
不骄不躁,全心钻研
展开
-
【数据结构的魅力】008.图
图自定义简单的图结构点集import java.util.ArrayList;//点结构的描述public class Node { public int value; //入度 public int in; //出度 public int out; public ArrayList<Node> nexts; public ArrayList<Edge> edges; public Node(int va原创 2022-03-13 21:44:15 · 1476 阅读 · 0 评论 -
【数据结构的魅力】007.贪心算法
贪心算法求解标准过程解题套路套路实战1) 会议时间package dataClass.code03;import java.util.Arrays;import java.util.Comparator;public class BestArrange { public static class Program { public int start; public int end; public Program(int原创 2022-03-13 09:48:57 · 149 阅读 · 0 评论 -
【数据结构的魅力】006.二叉树基本问题
二叉树基本问题二叉树的结构二叉树的先序,中序,后序遍历package dataClass.code02;import java.util.Stack;public class RecursiveTraversalBT { public static class Node { public int value; public Node left; public Node right; public Node(int原创 2022-03-13 08:10:18 · 224 阅读 · 0 评论 -
【数据结构的魅力】005.链表问题专项
链表问题专项1.快慢指针package class03;public class LinkedListMid { public static class Node{ public int value; public Node next; public Node(int v){ value = v; } } public static Node midOrUpMidNode(Node原创 2022-03-07 12:08:10 · 402 阅读 · 0 评论 -
【数据结构的魅力】004.堆、前缀树、桶排序、排序算法总结
堆排序**注意:**如果不要求排好的大根堆必须是有序的,那么可以使用注释中的方法将时间复杂度从O(n*logn)降低到O(n)语言提供的堆结构VS手写堆结构相关题目实现思路:k是多少,就把前k+1个数生成一个小根堆从小根堆弹出最小值,放到数组0下标的位置将第k+2个数加入小根堆,弹出最小值,放到数组1下标的位置周而复始…前缀树1)前缀树v1.0package calss02;public class TrieTree { public static cla原创 2022-03-04 19:21:41 · 476 阅读 · 0 评论 -
【数据结构的魅力】003.算法归并与随机快排
归并排序的实现1)递归方法实现2)非递归方法实现快速排序Partition过程实现思路:给定一个num,划定一个<=区,初始坐标为-1如果[i]==num,i++如果[i]<=num,将[i]与<=区的下一个位置的元素互换,<=区下标+1,i++i在数组越界位置停止思考:如果是分成<num,=num,>num三个区域呢?实现思路:给定一个num,划定两个区,一个为<=区,出示下标为-1,一个为>=区,初始下标为数组最大长度原创 2022-03-04 15:23:32 · 454 阅读 · 0 评论 -
【数据结构的魅力】002.单向、双向链表&栈和队列&递归
单向、双向链表单链表和双链表最简单的练习1)单链表和双链表如何反转2)删除给定值的全部节点遍历链表,找到第一个不是给定值的元素,即为头结点while与if结合使用,通过两个变量(类似指针)来删除节点栈和队列原创 2022-03-03 09:53:17 · 255 阅读 · 0 评论 -
【数据结构的魅力】001.认识复杂度&二分法&异或运算
常数时间操作如果一个操作的执行时间不以具体样本量为转移,每次执行时间都是固定时间。称这样的操作为常数时间的操作。常见的算术运算(+、-、*、/、%等)常见的位运算(>>、>>>、<<、|、&、^等)赋值、比较、自增、自减操作等数组寻址操作如何确定算法流程的总操作数量与样本数量之间的表达式关系?1,想象该算法流程所处理的数据状况,要按照最差情况来。2,把整个流程彻底拆分为一个个基本动作,保证每个动作都是常数时间的操作。3,如果数据量为N,原创 2022-03-01 20:12:33 · 412 阅读 · 0 评论