数据结构

2024/4/30 0:33:07

阅读HAL源码之重点总结

HAL封装中有如下特点(自己总结的): 特定外设要设置的参数组成一个结构体; 特定外设所有寄存器组成一个结构体; 地址基本都是通过宏来定义的,定义了各外设的起始地址,也就是对应寄存器结构体的地…

leetcode第 284 场周赛(AC 3道,排名818 / 8483)

题目 找出数组中的所有 K 近邻下标统计可以提取的工件K 次操作后最大化顶端元素得到要求路径的最小带权子图 题解 只做出来前3道,最后一题只知道用dijkstra算法,但没有太多时间进一步考虑,还是不够熟练。 6031 找出数组中的所有 K 近邻下…

java中的树(草稿)

树的分类 根据树分支的数量限制,可以将树结构分为两类: 一、二叉树: 二叉树也就是一个节点最多只有两个子节点的树结构,比较有代表的如 红黑树 二叉树(binary tree) 二叉查找树(ADT&#x…

L2-4 哲哲打游戏

哲哲是一位硬核游戏玩家。最近一款名叫《达诺达诺》的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择可以从某个剧情点去往另…

算法与数据体系课笔记之- 9.2链表相关题目(进行中)

目录9.链表相关题目分析 总览笔记思维导图链接常见题目汇总:1. 求链表中间节点题意:题解:代码实现:代码测试:复杂度分析:2. 回文链表题目链接题意:题解:代码实现:复杂度分…

链表回文(牛客网:OR36 链表的回文结构)

目录 前言 一,题目分析 1.1什么是回文 1.2题目分析 二,解题思路 情况一: 情况二: tips: 三,源码分享 前言 小伙伴们大家好啊!今天我们为大家带来一篇有关判断链表回文的文章。大家一旦想到回文&am…

B树与B+树

B树 B树的定义 1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树,它是一种平衡的多叉树,称为B树(或B-树、B_树)。我们描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点&…

【算法】前缀和

作者:指针不指南吗 专栏:算法篇 🐾要学会在纸上打草稿,这个很重要🐾 文章目录1.什么是前缀和?2.怎么求前缀和?3.前缀和有什么用?4.进阶二维:矩阵和前缀和 主打一个记公式 1.什么是前…

leetcode[203]移除链表元素 Java实现(注意移动node.next的时机,易错)

//给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 // // // 示例 1: // // //输入:head [1,2,6,3,4,5,6], val 6 //输出:[1,2,3,4,5] // // // …

java集合之List

写在前面 集合类是java语言对数据结构的实现 List接口介绍 java.util.List是有序的 collection(也称为序列),继承自Collection接口,是单列集合的一个重要分支。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户…

java集合之Set

写在前面 集合类是java语言对数据结构的实现 Set接口介绍 java.util.Set接口和java.util.List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collectio…

二级Python选择题总结

二级Python选择题总结 目录一、公共基础知识二、二级Python语言程序设计一、公共基础知识 算法的时间复杂度是指算法在执行过程中基本运算的次数;当一个进程在运行过程中释放了系统资源后要调用唤醒进程原语;当一进程在运行状态下结束时要调用撤销进程原…

七、二叉树(12):平衡二叉树

力扣题目链接(opens new window) 给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 …

疏漏总结(二十五)——排序算法

然后由于自己曾经被问堆排的过程不会,所以在这总结一下堆排的过程。 堆排的问题在于: 如何将无序的序列变成一个堆输出堆顶元素之后,如何调整结构变成一个新的堆 先说自己的想法,相当于从下层开始建堆,至于小顶堆还…

ROS std_msgs/sensor_msgs部分数据含义

std_msgs 格式数据详见http://wiki.ros.org/std_msgs std_msgs/Header.msg消息里数据主要有一下几部分: uint32 seq //存储原始数据类型uint32 time stamp //存储ROS中的时间戳信息 string frame_id //用于表示和此数据关联的帧,在坐标系变化中可以理…

vector二维数组的赋值与遍历

标准库模型vector表示对象的集合&#xff0c;其中所有对象的类型都相同。集合中每个对象都有一个与之对应索引&#xff0c;索引用于访问对象。 注&#xff1a;vector是模板而非类型&#xff0c;由vector生成的类型必须包含vector中元素的类型&#xff0c;如vector< int> …

算法——找出数组中出现次数最多的数

今天面试中有一道算法题&#xff0c;好长时间没做算法了&#xff0c;虽然很简单&#xff0c;但是当时没做出来&#xff0c;记录一下 import numpy as npa np.array([1,4,5,6,4,7,5,4])#找出数组中出现次数最多的数 def find_a(arr):arr_sort np.sort(arr)ll np.size(arr)s …

线性表的合并

线性表的应用 线性表的合并 问题描述&#xff1a; 假设利用两个线性表La和Lb表示两个集合A和B&#xff0c;现要求一个新的集合AA∪B 即&#xff1a; La(7,5,3,11) Lb(2,6,3) A(7,8,3,11,2,6) 算法步骤&#xff08;A既是参数&#xff0c;也是操作的结果&#xff09; 依次…

C++- sizeof 和 strlen 的区别

回答如下&#xff1a; sizeof 是一个保留关键字&#xff0c;而strlen是一个库函数。sizeof&#xff1a;用于计算指定变量或类型所占用的内存大小&#xff08;字节数&#xff09;。例如&#xff0c;sizeof(int) 返回 4&#xff0c;表示 int 类型占用 4 个字节的内存空间。strle…

优化时间和空间效率

欢迎访问我的博客首页。 优化时间和空间效率1. 时间效率1.1 数组中出现次数超过一半的数字1.2 最小的 k 个数1.3 数据流中的中位数1.4 连续子数组的最大和1.5 1~n 整数中 1 出现的次数1.6 数字序列中某一位的数字1.7 把数组排成最小的数1.8 把数字翻译成字符串1.9 礼物的最大价…

堆结构和堆排序原理及python实现

堆结构 堆结构是一个完全二叉树&#xff0c;将数组中的数字在二叉树从上到下&#xff0c;从左到右进行排列。 若每个父节点的值大于子节点的值则为大顶堆&#xff0c;若每个父节点的值小于子节点的值则为小顶堆。 属性&#xff1a; 对任意一个node为idx &#xff08;idx0为根…

算法描述语言ADL

用算法描述语言ADL书写算法的格式及规定如下&#xff1a; 算法<算法名>(变量i1,,变量in.变量j,,变量jn)// <算法的概括说明>或者/* <算法的概括说明> */<步骤名>.[<本步骤的概括说明>]<操作1>//<操作1的解释>或者/*<操作1的解释…

结构体类型数据的动态存储分配和链表及其基本操作

1.结构体类型数据的动态存储分配 一.前言 c语言提供了一些内存管理函数&#xff0c;用于动态分配内存空间&#xff08;堆区&#xff09;.可以根据需要开辟内存的单元,在程序执行时&#xff0c;需要多少空间就分配多少内存空间&#xff0c;且当空间不再使用还可以释放 二.关于…

数据结构学习笔记-链表,链栈,链式队列

这是最近学习过的数据结构的一些基本线性存储方式&#xff0c; 整理一下笔记&#xff0c;其中双链表和循环list等操作&#xff0c;思想类似&#xff0c;就不做整理了 //链表操作 #include<iostream> using namespace std; template <class T> struct Node …

使用栈实现中缀表达式转换后缀表达式

package stack;import java.util.ArrayList; import java.util.List; import java.util.Stack;public class PolandNotation {public static void main(String[] args) {//完成将一个中缀表达式转成后缀表达式的功能//1. 1&#xff08;&#xff08;23&#xff09;*4&#xff09…

哈希表的JAVA实现(HashTable)

Google面试问题描述 有一个公司, 当有新员工报道的时候, 要求将该员工的信息保存(id, 姓名, 年龄, 住址等), 当输入该员工的的id时, 要求查找该员工的所有信息。 注: 不要使用数据库, 尽量节省内存, 速度越快越好 思路分析 不让使用数据库, 越快越好, 我们选择哈希表 使用链…

插入排序and希尔排序(逐行讲解!)

import java.util.Arrays;/*** this is the shell sort* 首先先实现插入排序* 再在插入排序的基础上实现希尔排序*/ public class shellsort {/*** this is inser sort* param arr*/public static void insert_sort(int[] arr){/*** 插入排序是每一次拿出一个数&#xff0c;像插…

快速排序(逐行讲解)

首先需要声明&#xff0c;我这这里并没有图例&#xff0c; 所以将以各位小伙伴先去了解此算法的思想再回过来看代码 /*** 实现快速排序*/ public class quicksort {/*** 快速排序的核心思想其实也是交换* 设立两个指针左指针和右指针&#xff0c;分别指向头和尾&#xff0c;再从…

”回溯算法“框架及练习题

文章目录一、回溯算法是什么&#xff1f;二、框架如下&#xff1a;本人其他文章链接一、回溯算法是什么&#xff1f; 结论&#xff1a;回溯 穷举 解决一个回溯问题&#xff0c;实际上就是一个决策树的遍历过程 路径&#xff1a;就是已经做出的选择选择列表&#xff1a;就是你…

java 合并两个有序数组

牛客题目链接 1. 题目考点 双指针原地修改数组 2. 考点解析 借助额外数组 C&#xff0c;从头遍历 A B 数组&#xff0c;把小的放到 C 中&#xff0c;最后把 C 复制给 A (常规思路) public void merge(int A[], int m, int B[], int n) {int[] C new int[m n];int i 0, …

【数据结构】——链栈的各功能实现

#include <cstdio> #include <cstdlib>typedef struct LinkNode{int data;struct LinkNode *next; }LinkNode, *LiStack;void menu(){printf("1、创建链栈\n");printf("2、栈是否为空\n");printf("3、元素进栈\n");printf("4、…

PAT A1094 The Largest Generation (25分)

首先根据题意建立树&#xff0c;然后采用BFS搜索&#xff08;层序遍历&#xff09;&#xff0c;记录每个结点的层数&#xff0c;同时每出队一个结点使该结点层数的映射增加1&#xff0c;最后通过哈希数组找到结点数最多的层数。 #include <cstdio> #include <queue&…

PAT A1064 Complete Binary Search Tree (30分)

这题没有思路的话会感觉无从下手&#xff0c;有了思路的话就很简单了。 最重要的是要反应出以下两点&#xff1a; 1、用数组来存储完全二叉树 2、BST插入顺序和中序遍历的顺序是一样的 #include <cstdio> #include <queue> #include <algorithm> using name…

PAT B1051 复数乘法 (15 分)

这题对于复数有遗忘的同学也不要害怕&#xff0c;读一遍题目自己演算一遍就能理解了。 这题的2、3测试点是两个坑&#xff0c;要注意题目中说的是保留两位小数&#xff0c;因此要特别判断一下A和B的绝对值小于0.005的情况&#xff0c;否则符号的输出会出现错误。 #include <…

图的创建以及遍历(邻接表)

#include "iostream" #include "iomanip" #include "algorithm" #define maxsize 10 using namespace std; int visited[]{0}; struct arc_node //边表 {int adjvex; //邻接点下标arc_node*next_arc; //指向下一条弧节点 };struct vertex_…

二叉树和普通树

欢迎访问我的博客首页。 二叉树和普通树1. 定义结点2. 创建树3. 层序遍历4. 左视图与右视图5. 先序、中序、后序遍历5.1 递归算法5.2 适合二叉树的非递归算法5.3 适合所有树的非递归算法6. 路径6.1 递归算法6.2 非递归算法6.3 路径问题总结7. 参考1. 定义结点 二叉树结点和普通…

数据结构之二叉树基础OJ练习单值二叉树

单值二叉树 题目来源&#xff1a; 单值二叉树 题目描述&#xff1a; 如果二叉树每个节点都具有相同的值&#xff0c;那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时&#xff0c;才返回 true&#xff1b;否则返回 false。 示例 1&#xff1a; 输入&#xff1a;[1,…

笔试强训之每日一题(九)

笔试强训之每日一题(九) 文章目录笔试强训之每日一题(九)字符串压缩题目链接题目描述题目思路题目代码配对交换题目链接题目描述题目思路题目代码字符串压缩 题目链接 题目描述 字符串压缩。利用字符重复出现的次数&#xff0c;编写一种方法&#xff0c;实现基本的字符串压缩…

前缀树java

一个字符串类型的数组arr1,另一个字符串类型的数组arr2&#xff0c;arr2中有哪些字符是arr1中出现的。arr2中有哪些字符是作为arr1中某个字符串前缀出现的&#xff0c;arr2中有哪些字符是作为arr1中某个字符串的前缀出现的&#xff0c;打印arr2中出现次数最大的前缀 public cla…

装下最多价值的物品

【题目】 给定2个长度为N的数组weights和values,weights[i]和values[i]分别代表第i个物品的重量和价值&#xff0c;给定一个正数bag&#xff0c;表示一个载重bag的袋子&#xff0c;泥状的额物品不能超过这个重量&#xff0c;返回能装下最多的价值 public class Knapsack {publi…

快速复习|哈希表

哈希表哈希表基本概念构造哈希函数通常考虑的因素哈希函数的构造方法处理冲突的方法哈希表基本概念 根据设定的哈希函数H(key)和处理冲突的方法将一组关键字映像到一个有限的连续的地址集&#xff08;区间&#xff09;上&#xff0c;并以关键字在地址集中的像作为记录在表中的…

【LeetCode】两数之和【优化查询过程即可】

给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;你不能重复利用这个数组中同样的元素。 示例: 给定 nums [2, 7, 11, 15], targ…

剑指offer-数组中数字出现的次数II (数位统计)

在一个数组 nums 中除一个数字只出现一次之外&#xff0c;其他数字都出现了三次。请找出那个只出现一次的数字。 示例 1&#xff1a; 输入&#xff1a;nums [3,4,3,3] 输出&#xff1a;4 示例 2&#xff1a; 输入&#xff1a;nums [9,1,7,9,7,9,7] 输出&#xff1a;1 限制&am…

Golang-分段锁实现并发安全的Map

Golang - 分段锁实现并发安全Map 一.引言 我们一般有两种方式来降低锁的竞争&#xff1a; 第一种&#xff1a;减少锁的持有时间&#xff0c;sync.Map即是采用这种策略&#xff0c;通过冗余的数据结构&#xff0c;使得需要持有锁的时间&#xff0c;大大减少。第二种&#xff1a;…

力扣 括号生成(dfs+剪枝)

力扣 括号生成(dfs剪枝) 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()","()(…

acwing算法基础课

文章目录第一章 基础算法快速排序归并排序二分高精度前缀和与差分双指针算法位运算离散化区间合并第二章 数据结构单链表双链表栈队列单调栈单调队列KMPTrie并查集堆哈希表C STL第三章 搜索与图论DFSBFS树与图的深度优先遍历树与图的广度优先遍历拓扑排序Dijkstrabellman-fords…

LeetCode链表

文章目录链表两数相加[237. 删除链表中的节点 - 力扣&#xff08;LeetCode&#xff09;](https://leetcode-cn.com/problems/delete-node-in-a-linked-list/)删除链表的倒数第N个节点合并有序链表合并k个升序链表反转链表反转链表II删除元素删除元素II[203. 移除链表元素 - 力扣…

PAT B1075 链表元素分类 (25 分)

这题可以开一个数组用来保存地址&#xff0c;然后遍历原来的链表三次&#xff0c;第一次找到所有负值结点的地址&#xff0c;第二次找到所有【0,k】区间值的结点&#xff0c;第三次找到所有大于k的结点&#xff0c;这样也可以保证所有保存的地址也是按照原来内部顺序排列的。 …

单项链表的功能实现

#ifndef _SINGLE_LINK_LIST_H #define _SINGLE_LINK_LIST_H #include <stdio.h> #include <stdlib.h> #include <stdbool.h>typedef int EYYPE;typedef struct Node{EYYPE elem; //元素 struct Node*next; //下一个节点的位置 }*SLinketList;#defin…

判断链表是否有环

判断给定的链表中是否有环。如果有环则返回true&#xff0c;否则返回false。 我们使用两个指针&#xff0c;quick 与 slow。 它们起始都位于链表的头部。随后&#xff0c;quick 指针每次向后移动一个位置&#xff0c;而slow指针向后移动两个位置。如果链表中存在环&#xff0c…

链表的逆序

1&#xff09;prev指针指向已经反转好的链表的最后一个节点&#xff0c;最开始没有反转&#xff0c;所以指向null 2&#xff09;curr指针指向待反转链表的第一个节点&#xff0c;最开始第一个节点待反转&#xff0c;所以指向pHead 3&#xff09;next指针指向待反转链表的第二个…

图论算法(队列 栈)

#ifndef _ADJ_GRAPH_H__ #define _ADJ_GRAPH_H__#include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> #include "queue.h" typedef struct ArcNode{//弧结点 int adjvex; //弧头 边 邻接点所…

重排链表

给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln-1 → Ln 。请将其重新排列后变为&#xff1a;L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 思路&…

PAT乙级 1005 继续(3n+1)猜想 (25分)

PAT乙级练习总结 PAT乙级 1005 继续(3n1)猜想 (25分) 希望我的思路可以帮助你。 文章目录PAT乙级练习总结一、1005题目二、分析一、1005题目 输入样例&#xff1a; 6 3 5 6 7 8 11输出样例&#xff1a; 7 6二、分析 根据题目最多输入100位&#xff0c;且输入的数为1<n<10…

PAT乙级 1007 素数对猜想 (20 分)

PAT乙级练习总结 PAT乙级 1007 素数对猜想 (20 分) 希望我的思路可以帮助你。 文章目录PAT乙级练习总结二、代码总结1007 素数对猜想 (20 分) 输入格式&#xff1a;输入在一行给出正整数N。输出格式&#xff1a;在一行中输出不超过N的满足猜想的素数对的个数。输入样例&#xf…

PAT乙级 1070 结绳 (25 分)

PAT乙级练习总结 PAT乙级 1070 结绳 (25 分) 希望我的思路可以帮助你。 文章目录PAT乙级练习总结一、分析二、代码总结1070 结绳 (25 分) 给定一段一段的绳子&#xff0c;你需要把它们串成一条绳。每次串连的时候&#xff0c;是把两段绳子对折&#xff0c;再如下图所示套接在一…

PAT乙级 1069 微博转发抽奖(20 分)

PAT乙级练习总结 PAT乙级 1069 微博转发抽奖(20 分) 希望我的思路可以帮助你。 文章目录PAT乙级练习总结一、分析二、代码总结(20 分) ** 小明 PAT 考了满分&#xff0c;高兴之余决定发起微博转发抽奖活动&#xff0c;从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写…

PAT乙级 1068 万绿丛中一点红 (20 分)

PAT乙级练习总结 PAT乙级 1068 万绿丛中一点红 (20 分) 希望我的思路可以帮助你。 文章目录PAT乙级练习总结一、分析二、代码总结1068 万绿丛中一点红 (20 分) 对于计算机而言&#xff0c;颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 MN 的画&#xff0c;要求…

PAT乙级 1080 MOOC期终成绩 (25 分)

PAT乙级练习总结 PAT乙级 1080 MOOC期终成绩 (25 分) 希望我的思路可以帮助你。 文章目录PAT乙级练习总结一、思路二、代码&#xff08;一&#xff09;二、代码&#xff08;二&#xff09;总结1080 MOOC期终成绩 (25 分) 对于在中国大学MOOC&#xff08;http://www.icourse163…

PAT乙级 1076 Wifi密码 (15 分)

PAT乙级练习总结 PAT乙级 1076 Wifi密码 (15 分) 希望我的思路可以帮助你。 文章目录PAT乙级练习总结一、思路二、代码总结1076 Wifi密码 (15 分) 下面是微博上流传的一张照片&#xff1a;“各位亲爱的同学们&#xff0c;鉴于大家有时需要使用 wifi&#xff0c;又怕耽误亲们的…

记2021春季PAT乙级考试题解

记2021春季PAT乙级考试题解前言7-4 素数等差数列 (20 分)总结&#xff1a;前言 过了快一月了总结一波&#xff0c;前面的题写的还挺顺畅&#xff0c;第四题前前后后淦一个多钟直接&#xff0c;第五题本来觉得挺难的&#xff0c;写着写着就有思路了&#xff0c;40多分钟最后拿了…

PAT 1077 Kuchiguse

The Japanese language is notorious for its sentence ending particles. Personal preference of such particles can be considered as a reflection of the speaker’s personality. Such a preference is called “Kuchiguse” and is often exaggerated artistically in …

PAT A 1155 AC代码(堆的遍历,路径记录)

check函数遍历堆&#xff0c;用path记录路径&#xff0c;在遍历到叶结点&#xff08;叶结点条件&#xff1a;2*index>N) 时输出。 遍历的时候顺便比较一下父子大小判断是大顶堆还是小顶堆 #include<iostream> #include<vector> using namespace std; int N; v…

数据结构学习笔记<1> 线性表

目录一、线性表的抽象数据类型描述二、顺序表1.定义2.操作(1)创建空表(2)查找下标为K的元素(3)查找元素X(4)插入(5)删除(6)返回线性表的长度n3.完整代码演示三、线性表的链式存储1.定义2.操作(1)插入操作(2)查找1.按值查找:Find2.按序号查找&#xff1a;FindKth(3)删除操作(4)求…

HashMap源码阅读jdk1.7

HashMap源码阅读jdk1.7 HashMap类主要由一个Entry数组Entry<K,V>[] table构成; 1. put方法 public V put(K key, V value) {// 如果table为空&#xff0c;则初始化if (table EMPTY_TABLE) {inflateTable(threshold);}// 这里可以看出HashMap的key可以为空if (key nul…

ConcurrentHashMap源码阅读jdk1.7

ConcurrentHashMap源码阅读jdk1.7 ConcurrentHashMap类主要由一个Segment数组&#xff08;Segment<K,V>[] segments&#xff09;构成&#xff1b;Segment是一个ReentrantLock类&#xff0c;含有一个HashEntry<K,V>[]数组&#xff08;HashEntry<K,V>[] table…

读懂HashMap源码

1 HashMap源码jdk1.7 https://blog.csdn.net/leonliu06/article/details/107273772 HashMap类主要由一个Entry数组Entry<K,V>[] table构成 2 HashMap源码jdk8 https://blog.csdn.net/leonliu06/article/details/107273890 HashMap类主要由一个Node数组Node<K,V&g…

数据结构32:选择排序

选择排序Selection Sort 选择排序对冒泡排序进行了改进&#xff0c;保留了其基本的多趟对比的思路&#xff0c;每趟都使当前最大项就位。 但是选择排序对交换进行了削弱&#xff0c;每趟仅进行一次交换&#xff0c;记录最大项的所在位置&#xff0c;最后再跟本趟最后一项进行…

[D-OJ练习] 栈的顺序存储结构与操作

请你定义一个顺序栈&#xff0c;可以对顺序栈进行“将某个元素入栈”、“弹出栈顶元素”、“取栈顶元素&#xff08;不删除&#xff09;”、“判断栈是否为空”、“清空栈”等操作。键盘输入一些命令&#xff0c;可以执行上述操作。本题中&#xff0c;顺序栈元素为字符&#xf…

[算法之美笔记01] 数组,链表的删除和垃圾回收,缓存机制有什么关系

本系列是对王争大佬的《数据结构和算法之美》学习笔记 为了在今后的学习途中, 也要持续巩固自己的数据结构与算法基础 没想到基于数组元素的删除这种我之前不屑于仔细斟酌的点, 竟然可以引申出一些底层的垃圾回收原理 没想到链表的增删可以拿来实现缓存机制 .. 好吧..实在…

链表经典练习题合集2(Java版)

本篇主要为leetcode上链表部分中等及困难难度练习题&#xff0c;链表部分的习题画图十分重要&#xff0c;只要链表结构画出来&#xff0c;再写代码解决问题就容易很多。做完这些难度高的习题后发现&#xff0c;其实中等难度的习题只是将两个甚至三个以上的知识点融汇到一个题目…

c++数据结构和算法

reverse函数 reverse函数用于反转在[first,last)范围内的顺序&#xff08;包括first指向的元素&#xff0c;不包括last指向的元素&#xff09;&#xff0c;reverse函数没有返回值 string a; vector<int> b; reverse(a.begin(), a.end()); reverse(b.begin(), b.end());…

How Many Answers Are Wrong(带权并查集)

题目 题目解释: 给定n个数,m个数据对,数据对中有abc a代表起始数字,b代表终止数字,c代表权值,可以理解为a到b的距离我们要在给出的m个数据对中,找出自相矛盾的数据对,统计一共有多少对错误。 举例说明 为了方便后边,我们把右边的闭区间改为开[a,b1) n10,m5(数字1~10,5个数据对…

【每日一题】Day3 倒置字符串

本题来源于牛客网中&#xff0c;链接如下&#xff1a;[编程题]倒置字符串 Day3 倒置字符串1.题目要求2.解题思路3.参考代码1.题目要求 题目展示&#x1f4a6;&#xff1a; 将一句话的单词进行倒置&#xff0c;标点不倒置。比如 I like beijing. 经过函数后变为&#xff1a;bei…

【每日一题】Day6 逆波兰表达式求值

本题来源于力扣中&#xff0c;链接如下&#xff1a;[编程题]逆波兰表达式求值 Day6 逆波兰表达式求值1.题目要求2.解题思路3.参考代码1.题目要求 题目展示&#xff1a; 根据 逆波兰表示法&#xff0c;求表达式的值。 有效的算符包括 、-、*、/ 。每个运算对象可以是整数&…

【每日一题】Day7 栈的压入、弹出序列

本题来源于牛客网中&#xff0c;链接如下&#xff1a;[编程题]栈的压入、弹出序列 Day7 栈的压入、弹出序列1.题目要求2.解题思路3.参考代码1.题目要求 题目展示&#xff1a; 输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否可能为…

3916 图的遍历

3916 图的遍历 这似乎是一个板子 注意一下&#xff0c;这个边是指有向边&#xff0c;我一开始的时候推错了 所以这个题&#xff0c;如果用暴力的话时间是O&#xff08;NM&#xff09;&#xff0c;应该可以得个60分 这个题需要一种逆向思维&#xff0c;其实正确得做法是什么tar…

1037 产生数

1037 产生数 给定一个数字 然后给定一个变化的规则&#xff0c;这些规则可以不同的使用&#xff0c;所以就会产生不同变化&#xff0c;求最多的不相同的变化有几个 我们稍微一思考就明白了 其实这个题完全可以转化成图&#xff0c;这个所谓的变化就是一个有向边 那么图的存储中…

1042 乒乓球

1042 乒乓球 这个题算是比较经典了 几乎就是那些增长我自信值得题目 没啥好说得&#xff0c;就是一个单纯得模拟 #include <iostream> #include <cstring> #include<string> #include<algorithm> #include<cmath> using namespace std; int wi…

1056 排座椅

1056 排座椅 这个题其实就是一个很简单的模拟&#xff0c;当然也可以说是贪心 最后的输出的数表示a a1之间有通道 题意不用解释太多了 这里我们需要自己总结一个经验 如果相邻的两行有许多组说话的同学&#xff0c;那么在这两行中间加一条过道是非常划算的 同理&#xff0c;列…

HJ6 质数因子

描述 功能:输入一个正整数&#xff0c;按照从小到大的顺序输出它的所有质因子&#xff08;重复的也要列举&#xff09;&#xff08;如180的质因子为2 2 3 3 5 &#xff09; 输入描述&#xff1a; 输入一个整数 输出描述&#xff1a; 按照从小到大的顺序输出它的所有质数的因…

607. 销售员

# Write your MySQL query statement below SELECTs.name FROMsalesperson s WHEREs.sales_id NOT IN (SELECTo.sales_idFROMorders oLEFT JOINcompany c ON o.com_id c.com_idWHEREc.name RED) 描述 给定 3 个表&#xff1a; salesperson&#xff0c; company&#xff0c;…

case when sql

简单CASE WHEN函数&#xff1a; CASE SCORE WHEN A THEN 优 ELSE 不及格 END CASE SCORE WHEN B THEN 良 ELSE 不及格 END CASE SCORE WHEN C THEN 中 ELSE 不及格 END 等同于&#xff0c;使用CASE WHEN条件表达式函数实现&#xff1a; CASE WHEN SCORE A THEN 优WHEN SCOR…

8-4交换排序-冒泡排序

一.基本思想和代码 以下按从小到大排序 基本思想&#xff1a;从后往前两两对比元素 &#xff08;一&#xff09;第一轮 1.对比最后两个元素。如果右边的小&#xff0c;二者交换。此处不动 2.对比5、6两个元素 不动 3.对比4、5两个元素 76>13&#xff0c;交换位置 代码角…

用一个数组实现两个堆栈

题干 请用一个数组实现两个堆栈&#xff0c;要求最大可能地利用数组空间&#xff0c;使数组只要有空间、入栈操作就能成功。写出相应的入栈和出栈操作函数。 分析 第一种方案&#xff0c;是将数组空间一分为二地分配给两个堆栈使用&#xff0c;一个堆栈的底在数组的起始位置…

【数据结构与算法】哈夫曼树

1.基本概念 Huffman Tree&#xff0c;中文名是哈夫曼树或霍夫曼树&#xff0c;它是最优二叉树。 定义&#xff1a;给定n个权值作为n个叶子结点&#xff0c;构造一棵二叉树&#xff0c;若树的带权路径长度达到最小&#xff0c;则这棵树被称为哈夫曼树。 这个定义里面涉及到了几…

PAT甲级真题 1078 Hashing (25分) C++实现(Quadratic probing 平方探测法解决hash冲突)

题目 The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function is defined to be “H(key) key % TSize” where TSize is the maximum size of the ha…

Java实现单链表的增删改查

/*** Description : 链表测试* Author : ch* Date: 2020-11-20*/ public class LinkNode {public static void main(String[] args) {LinkedList L new LinkedList();L.init();System.out.println("输入链表节点&#xff1a;");Scanner scanner new Scanner(System…

PAT甲级真题 1077 Kuchiguse (20分) C++实现(倒序搜索字符串公共尾部)

题目 The Japanese language is notorious for its sentence ending particles. Personal preference of such particles can be considered as a reflection of the speaker’s personality. Such a preference is called “Kuchiguse” and is often exaggerated artistical…

PAT甲级真题 1074 Reversing Linked List (25分) C++实现(模拟反转链表)

题目 Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K3, then you must output 3→2→1→6→5→4; if K4, you must output 4→3→2→1→5→6. Input …

PAT甲级真题 1072 Gas Station (30分) C++实现(Dijkstra算法,测试点4四舍五入的坑)

题目 A gas station has to be built at such a location that the minimum distance between the station and any of the residential housing is as far away as possible. However it must guarantee that all the houses are in its service range. Now given the map o…

PAT甲级真题 1070 Mooncake (25分) C++实现(同乙级1020,简单贪心法)

题目 Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types of fillings and crusts can be found in traditional mooncakes according to the region’s culture. Now given the inventory amounts and the prices of all…

【数据结构】时间与空间复杂度

&#x1f3d6;️作者&#xff1a;malloc不出对象 ⛺专栏&#xff1a;《初识C语言》 &#x1f466;个人简介&#xff1a;一名双非本科院校大二在读的科班编程菜鸟&#xff0c;努力编程只为赶上各位大佬的步伐&#x1f648;&#x1f648; 目录前言一、算法效率1.1 如何衡量一个算…

引用和指针的区别

引用是一种更安全的指针 引用必须初始化 &#xff0c;指针可以不初始化 从汇编角度看&#xff0c;指针和引用的创建和修改变量的值是一模一样的 00212679 lea eax,[a] 0021267c mov dword ptr [p],eax 指针需要解引用才可以拿到值 引用直接可以拿到值 引用只有一级&#xff…

数组用法易错点

1- 数组长度为变量&#xff0c;定义和初始化必须分开 代码&#xff1a; int len 10; int arr[len] {0}; 报错&#xff1a;ariable-sized object may not be initialized 原因&#xff1a;当数组长度为变量len&#xff0c;必须将初始化、定义分开。 解决方案&#xff1a…

顺序表实现——动态分配

#include<bits/stdc.h> #define InitSize 10//默认长度 using namespace std;typedef struct{int *data;//动态分配数组指针int MaxSize;//顺序表最大容量int length;//顺序表当前长度 }SeqList;void InitList(SeqList &L){L.data(int*)malloc(InitSize*sizeof(int))…

数据结构例2-1

void union(List &La, List Lb){La_len ListLength(La); Lb_len ListLength(Lb);for(int i 1; i < Lb_len; i){GetElem(Lb , i, e);if(!LocateElem(La, e, equal)) ListInsert(La, La_len, e);} }

数据结构实验报告——基于三元组顺序表的矩阵转置

1&#xff0e;实验目的 &#xff08;1&#xff09;熟悉多维数组的逻辑结构特征及其存储方式&#xff1b; &#xff08;2&#xff09;熟悉特殊矩阵和稀疏矩阵的压缩存储方法及概念&#xff1b; 实验内容 &#xff08;1&#xff09;编程实现基于三元组顺序表的矩阵转置。 &…

二叉树应用——哈夫曼编码

1.实验目的 &#xff08;1&#xff09;掌握树和二叉树的特点、逻辑结构和物理实现&#xff1b; &#xff08;2&#xff09;掌握实际问题中二叉树的应用 &#xff08;3&#xff09;掌握哈夫曼树及哈夫曼编码在实际问题中的应用。 2.实验内容 设要传输的字符集D{ C, A, S, T,…

二叉排序树(查找树)的平均查找长度

如图所示的二叉排序树 查找成功的平均查找长度为&#xff1a;∑&#xff08;本层高度*本层元素个数&#xff09;/节点总数&#xff08;1*12*23*33*4&#xff09;/9 查找不成功的平均查找长度&#xff1a;∑&#xff08;本层高度*本层补上的叶子个数&#xff09;/补上的叶子总数…

1.已知关键字序列{10,80,45,3,65,23,98,8},试用快速排序算法进行排序,并给出每一趟排序结果。 2.已知关键字序列{601,223,417,125,418,391,65,359},

排序的应用题 软件设计中经常遇到排序和查找的问题。而排序和查找的方法也是层出不穷&#xff0c;排序的主要方法有插入排序、交换排序、选择排序、归并排序、堆排序和基数排序。将一组次序任意的数据元素转变为按其关键字值递增&#xff08;或递减&#xff09;次序排列的过程&…

LWN:Rust 与 GCC 的两个开发方案!

关注了就能看到更多这么棒的文章哦&#xff5e;Rust and GCC, two different waysBy Jonathan CorbetOctober 4, 2021LPCDeepL assisted translationhttps://lwn.net/Articles/871283/使用 C 或 C 等语言的开发者&#xff0c;一般来说使用两个相互竞争的编译器&#xff08;GCC …

Java初阶数据结构练习

1. ArrayList listnew ArrayList(20)扩充了&#xff08; A &#xff09;次 A. 0 B. 1 C. 2 当调用的是不带参数的构造方法时&#xff0c;默认大小时10&#xff0c;之后就开始扩容 但是这里调用的是带参数的构造方法 2.在一个具有n个节点的有序单链表中插入一个新节点并仍然保持…

算法基础知识

算法基础 文章目录1.算法概述数据结构的特征需要数据结构执行时间案例基本术语2.算法基础3.算法的特征4.如何编写算法&#xff1f;实例5.算法分析渐近符号大哦符号&#xff0c;ΟOmega表示法&#xff0c;ΩTheta Notation&#xff0c;θ常见的渐近符号算法分析算法复杂度空间复…

python 遍历数组的3种方法及常用的代码

1、直接使用数组的元素进行遍历&#xff0c;但这种遍历方法效率较低&#xff0c;不推荐使用。可以使用 python中的 num或者 int数组。 2、使用 python中的my_num&#xff0c;该方法通过数组的末尾进行遍历&#xff0c;效率最高&#xff0c;可以直接使用。 5、在 Python中直接使…

数据结构_BFS

在邻接矩阵存储结构下实现BFS&#xff1a; 广搜采用的是队列 void BFS(int v) {int w, j, Q[MaxSize];int front -1; rear -1;cout << vertex[v]; visited[v] 1;Q[rear] v;while (front ! rear){w Q[front];for(j0;j<vertexNum;j)if (edge[w][j] 1 &&…

数据结构_拓扑排序

算法&#xff1a;TopSort 输入&#xff1a;有向图 G(V,E) 输出&#xff1a;拓扑排序1.栈S初始化&#xff0c;累加器count初始化2.扫描顶点表&#xff0c;入度为零的顶点压栈3.栈非空循环3.1j栈顶元素出栈&#xff0c;输出顶点j,count3.2对j的每一个邻接点k执行如下操作3.2.1将顶…

统计DES算法在密钥、明文固定下对密文的影响

统计DES算法在密钥、明文固定下对密文的影响 实验代码在这里&#xff1a;实验代码 实验目的 统计DES算法在密钥固定情况&#xff0c;输入明文改变1位、2位&#xff0c;。。。64位时。输出密文位数改变情况。统计DES算法在明文固定情况&#xff0c;输入密钥改变1位、2位&…

蓝桥杯每日一练——Excel表中某个范围内的单元格

题目来自于leetcode双周赛 class Solution { public:vector<string> cellsInRange(string s) {int l1 s[0], l2 s[1], r1 s[3], r2 s[4];vector<string> res;for (int i l1; i < r1; i) {for (int j l2; j < r2; j) {string x "";x char(…

C++ 数据结构——冒泡排序

/*冒泡排序*/ #include <iostream> using namespace std; void BubbleSort(int a[],int length) {for(int i0;i<length-1;i){for(int j0;j<length-i-1;j){if(a[j]>a[j1]){int tempa[j];a[j]a[j1];a[j1]temp;}}}for(int i0;i<length;i){cout<<a[i]<&…

C++ 数据结构——BF算法

/*BF算法*/ #include <iostream> #include <string> using namespace std; int main() {string s1,s2;cin>>s1>>s2;int i0,j0,start0;while (s1[i]!\0&&s2[j]!\0){if(s1[i]s2[j]){i;j;}else{j0;start;istart;}}if(s2[j]\0)cout<<"s…

C++ 数据结构——链栈

/*链栈的实现*/ #include <iostream> using namespace std; template<typename T> struct Node {T data;Node<T>* next; }; template<typename T> class LinkStack { private:Node<T>* top; public:LinkStack();~LinkStack();void Push(T a);T P…

C++ 数据结构——顺序栈

/*顺序栈的实现*/ #include <iostream> using namespace std; const int MaxSize100; template<typename T> class SeqStack { private:int top;T data[MaxSize]; public:SeqStack();~SeqStack();void Push(T a);T Pop();T GetTop();int Empty(); }; template<t…

C++ 数据结构——双链表

/*双链表的实现*/ #include <iostream> using namespace std; template<typename T> struct DNode {T data; //数据域DNode<T> *piror,*next; //指针域 前驱 后继 }; template<typename T> class LinkList { private:DNode&…

C++ 数据结构——顺序表

/*顺序表的实现*/ #include<iostream> using namespace std; const int MaxSize100; template<typename DataType> class SeqList { private:DataType data[MaxSize];int length; public:SeqList();SeqList(DataType a[],int n);~SeqList();int Length();DataType …

LeetCode题目——二叉树篇

LeetCode题目——二叉树篇前言一、二叉树的前、中、后序遍历1.前序遍历递归实现迭代法2.中序遍历递归迭代法3.后序遍历递归迭代二、二叉树的层次遍历三、二叉树的右视图四、二叉树的层平均值五、N叉树的层序遍历六、在每个树行中找最大值七、填充每个节点的下一个右侧节点指针&…

数据结构_折半查找

//折半查找的非递归算法 BinSearch1() {int mid, low 1, high length; //初始查找区间是[1,n]while (low < high) //当区间存在时{mid (low high) / 2;if (k < data[mid])high mid - 1;else if (k > data[mid])low mid 1;else return mid; //查找成功&a…

C++笔记 函数形式参数的三种传递方式 一维数组、结构体、结构体数组作为函数参数 typedef关键字与结构体、结构体指针的定义 附C语言常见运算符优先级

一、数组作为函数参数 传值与传址 《C和指针》函数的参数一节(7.3节)指出&#xff0c;C函数的所有参数均以“传值调用”方式进行传递&#xff0c;这意味着函数将获得参数值的一份拷贝。这样函数可以放心地修改这个拷贝值&#xff0c;而不必担心会修改调用程序实际传递给它的参…

线段树以及Trie的总结

所谓线段树&#xff0c;就是在要求求解某个大问题的某个区间的小问题的时候&#xff0c;我们可以采用的一种数据结构 Trie&#xff0c;也叫字典树&#xff0c;前缀树&#xff0c;是用来查询某个单词或者某个字符串的一种数据结构 用trie来查询某个单词&#xff0c;查询的时间复…

Leetcode刷题笔记——数据结构(哈希表应用:哈希集合)

1. 两个数组的交集 原题&#xff1a; 思路&#xff1a; 讲数组准换成哈希集合&#xff0c;使用两个哈希集合来做。定义一个函数来判断两个哈希集合的交集&#xff0c;此处注意&#xff0c;函数的返回值不能单纯的返回交集数组&#xff0c;因为刚开始定义数组的时候并不知道交…

删除字符串s1 中在字符串s2 中出现的字符(C++)

#include <iostream> #include <string> #include <set> using namespace std; int main() {string s1"welcome";string s2"wel";set<char> t;//将s1中的数据全部存入set中for(int i0;i<s1.length();i){t.insert(s1[i]);}//遍历…

什么是java 容器(container)?

最近面试遇到这样一个问题&#xff0c;什么是容器&#xff1f; 额&#xff0c;把我问蒙了。接下来就是我网上查了资料&#xff0c;以供参考哈哈哈。 容器可以管理生命周期、对象与对象之间的依赖关系。 直白点说容器就是一段java程序&#xff0c;能够帮助你管理对象的关系&a…

【PAT刷题甲级】1136.A Delayed Palindrome

1136 A Delayed Palindrome (20 分) Consider a positive integer N written in standard notation with k1 digits ai as ak ⋯a1 a0 with 0≤ai <10 for all i and ak>0. Then N is palindromic if and only if ai ak−i for all i. Zero is written 0 and is also pa…

出栈次序

题目描述 题目来源&#xff1a;2014蓝桥杯国赛 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 X 星球特别讲究秩序&#xff0c;所有道路都是单行线。一个甲壳虫车队&#xff0c;共 161616 辆车&#xff0c;按照编号先后发…

计算给定多项式在给定点处的值--探究算法设计效率问题

#include <stdio.h> #include <time.h>//引入clock()计时函数 #include <math.h>clock_t start, stop;//clock_t是变量类型(typedef long clock_t);double duration;//用于计算秒数 #define MAXN 10//多项式的最大项系数&#xff0c;注意从0开始 #define MAX…

环形队列简单实现

package com.xurong.queue;import java.util.Scanner;public class CircleArrayQueueDemoTest{public static void main(String[] args) {//创建数组模拟的列表对象CircleArrayQueueDemo arrayQueue new CircleArrayQueueDemo(5);//接收用户输入char key ;Scanner scanner …

AcWing 840.模拟散列表

哈希表就是 将一个大范围的数据映射到小范围中, x∈[0,10^9^]&#xff0c;h[x]∈[0,10^5^]; h[x]就是哈希函数。 取模之后可能会引起冲突&#xff0c;h(6)2,h(10)2;不同的数取模之后映射到的是同一个地方。 那么解决这种问题&#xff0c;有两种解决方案。 拉链法&#xff1…

双指针解题思路

指针的解题思路一般分为三类&#xff1a; 1.首尾指针&#xff1a;范围查找&#xff0c;比如二分搜索等 滑动窗口&#xff1a;指针处在数组同一方向&#xff0c;根据条件移动左右指针&#xff0c;用于获取范围和等 快慢指针&#xff1a; 多用于链表计算时&#xff0c;判断是否…

递归和迭代的区别

递归和迭代的区别 一、递归 递归&#xff1a;重复调用函数自身实现循环称为递归**&#xff08;A调用A&#xff09;** 递归是一个树结构&#xff0c;从字面可以其理解为重复“递推”和“回归”的过程&#xff0c;当“递推”到达底部时就会开始“回归”&#xff0c;其过程相当于…

数据分析系列 之python中字典内容介绍

1 介绍 字典是另一种可变容器模型&#xff0c;且可存储任意类型对象&#xff1b; 字典的每个键值对用冒号分割&#xff0c;每个键值对之间用逗号分割&#xff0c;用花括号 { }表示&#xff0c;字典数据的存储是无序的&#xff0c;可以通过访问key来得到value&#xff1b; key一…

数据分析系列 之python中元组内容介绍

1 介绍 Python的元组与列表类似&#xff0c;不同之处在于元组的元素不能修改&#xff0c;元组使用小括号&#xff0c;列表使用方括号。基于此&#xff0c;Tuple 没有的方法有&#xff1a; (1) 不能向 tuple 增加元素&#xff0c;没有 append 、 extend 、insert 等方法&#xf…

基础算法系列 之单链表

单链表是一种链式存取的数据结构&#xff0c;用一组地址任意的存储单元存放线性表中的数据元素&#xff0c;每个结点的构成&#xff1a;元素 指针。其代码如下&#xff1a; public class Node{int data;Node next;public Node(int data){this.datadata;}public void *append*…

[代码随想录]单调栈

单调栈 文章目录 单调栈739. 每日温度496.下一个更大元素 I503.下一个更大元素II42. 接雨水*84.柱状图中最大的矩形 739. 每日温度 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&am…

【第三节】3.3二叉搜索树

&#x1f384;二叉搜索树 性质&#xff1a; 每个结点的值都必须大于存储在其左子树中的任何值 每个结点的值都必须小于存储在其右子树中的任何值 &#x1f384;举例 &#x1f384;结构体创建 typedef int BstElemType;typedef struct BinTreeSearch{BstElemType data;struct B…

【第三节】3.2二叉树的基本操作--(递归)

前提 关于二叉树的创建有问题的可以参考下面这个文章 二叉树的创建--五种方法 目录 目录 目录 &#x1f356;二叉树结点个数 &#x1f356;中序遍历 &#x1f356;后序遍历 &#x1f356;求二叉树高度 &#x1f356;查找二叉树结点 &#x1f356;查找二叉树的父节点…

【第二节】线性表--链表

&#x1f354;链表许多结构 单链表&#xff0c;单循环链表&#xff0c;双链表&#xff0c;双循环链表&#xff0c;带头节点的单链表&#xff0c;不带头节点的双向链表...... 1.线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素&#xff08;这组存储单元…

【第一节】1.1 线性表--顺序表(变长)

​​​​​​​​​​​数据结构前言 目录 目录 1、什么是顺序表 1.1.特点 1.2.结构 2、顺序表的基本操作 2.1.定义顺序表结构 2.2.初始化 2.3.分配内存 2.4.判空 2.5.判满 2.6.排序 2.7.查找 2.8.反转 2.9.插入 a.头插 b.尾插 c. 按值插入 d.按位置插入 2.10.…

【力扣】C语言实现反转链表

目录 一、目的 二、方法 方法一&#xff1a;分隔头插 方法二&#xff1a;逆转箭头 一、目的 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 二、方法 方法一&#x…

【数据结构】带头节点的双向循环链表基本操作

目的 实现双向循环带头节点的链表的增删改查 创建返回链表头节点 // 创建返回链表的头结点. ListNode* ListCreate() {ListNode *head (ListNode*)malloc(sizeof(ListNode));head->next head;head->prev head;return head; }双向链表的销毁 // 双向链表销毁 void Li…

【数据结构】线性表基本操作大全(反转,插入,删除,排序,查找)

这篇文章是顺序表各种操作的总结&#xff0c;供大家参考&#xff0c;有任何不对的地方也欢迎大家指出&#xff01; 代码里用“///"分隔了每一种操作&#xff1b; 函数的声明和实现放在了 seqlist.h 里&#xff1b; 函数的调用放在 Main.cpp 里&#xff1b; 一些通…

中缀表达转后缀表达式小技巧+通过后缀表达式求值

&#x1f388;目录&#x1f388; 0、简介&#x1f914; 1、中缀表达转后缀表达式小技巧 2、通过后缀表达式求值 0、简介 在考研中&#xff0c;经常会考中缀表达转后缀表达式&#xff0c;那什么是中缀表达&#xff1f;什么是后缀表达式&#xff1f;我举两个例子大家一个就清楚…

数据结构全集

判断栈混洗 题目描述 判断一个输入序列是否为某一个序列的栈混洗。设输入序列为1-N的数字。 输入&#xff1a; n&#xff0c;随后输入一个包含n个数字序列。范围从1到n的不同数字 输出&#xff1a; 如果是合法的栈混洗输出ture,否则输出false; 要求O(N)时间复杂度 样例…

88.合并两个有序数组

合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&…

SDUT-3663 顺序表应用4-2:元素位置互换之逆置算法(数据改进)

顺序表应用4-2&#xff1a;元素位置互换之逆置算法(数据改进&#xff09;Time Limit: 80MS Memory Limit: 600KBSubmit StatisticProblem Description一个长度为len(1<len<1000000)的顺序表&#xff0c;数据元素的类型为整型&#xff0c;将该表分成两半&#xff0c;前一半…

算法通关40讲 笔记一(复杂度, Leetcode刷题技巧)

今天开始利用20天&#xff0c;把算法通关40讲再过一遍&#xff0c;巩固下数据结构和算法的知识点。 数据结构与算法 时间复杂度和空间复杂度 常用的复杂度如下&#xff1a; 在实际工程中&#xff0c;尤其对于大数据而言&#xff0c;复杂度至关重要。 如何用for循环就是O…

数据结构与算法 笔记 递归

循环 递归 自己调用自己 递归让解决方案更清晰&#xff0c;但是循环可能使程序的性能更高。 递归&#xff0c;递是去&#xff0c;归是回。 将一个规模较大的问题&#xff0c;转化成同类型的规模较小的问题。一直到规模小的一定程度&#xff0c;有终止条件。 习惯上&#…

【无标题】二叉树的遍历

1. 在二叉树的第 i 层上至多有 [公式] 个结点 第一层有1个&#xff0c;第二层最多只可能是第1层的两倍&#xff0c;第三层是第二层的两倍。 2. 深度为 k 的二叉树&#xff0c;最多有 [公式] 个结点。 这条性质由 1 可以直接得出&#xff1a;将每一层的最大结点数相加。这是一…

数据结构第一节

数据结构分为逻辑结构与存储结构 一&#xff0c;逻辑结构 又分为线性结构和非线性结构。 线性结构有线性表&#xff0c;栈和队列&#xff0c;字符串&#xff0c;数组。 非线性结构有树&#xff08;具有多个分支的层次结构&#xff09;&#xff0c;图&#xff08;分为向图和…

Leetcode 刷题笔记 时间复杂度

单纯依靠运行的时间来比较算法的优劣并不一定是客观准确的&#xff01; 程序的运行离不开计算机环境&#xff08;包括硬件和操作系统&#xff09;&#xff0c;这些客观原因会影响程序运行的速度并反应在程序的执行时间上。那么如何才能客观的评判一个算法的优劣呢&#xff1f;…

数据结构——内排序

内排序一、排序的基本概念1.内排序的分类2.内排序算法的稳定性3.正反序4.内排序数据结构定义二、插入排序1.直接插入排序2.折半插入排序3.希尔排序三、交换排序1.冒泡排序&#xff08;或起泡排序&#xff09;2.快速排序四、选择排序五、归并排序六、基数排序一、排序的基本概念…

6.两两交换链表中的节点

题目&#xff1a; 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 解题思路&#xff08;迭代&#xff09;&#xff1a; 利用迭…

算法设计技巧: 深度优先搜索(DFS)

前文介绍了用广度优先搜索(Breadth-First-Search)的方法遍历一个图G(V,E)G(V,E)G(V,E). 本文介绍另一种常用的方法: 深度优先搜索(Depth-First-Search). DFS与BFS相比, 它的主要特点是遍历顶点的顺序满足一定的规律, 利用这些规律可以对顶点和边进行分类, 从而应用与其它问题的…

剑指offer——寻找二叉搜索树的第K小个节点

给定一棵二叉搜索树&#xff0c;请找出其中的第k小的结点。 思路&#xff1a;首先&#xff0c;对一棵二叉搜索树来说&#xff0c;从小到大的遍历顺序要通过中序遍历才能够得到&#xff1b;其次要思考如何才能得出这个节点&#xff0c;我的想法是创建一个vector数组形式的全局变…

中后二叉建树

// 浪漫恻隐 // 中序 后续 建树 // 数组写 https://blog.csdn.net/qq_33957603/article/details/117093898?ops_request_misc%257B%2522request%255Fid%2522%253A%2522165028864316780261969875%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&am…

数据结构之顺序表(order)链表(list)

顺序表 功能列表 Order* create_order(int cal) // 创建顺序表 void destroy_order(Order* order)// 销毁顺序表 void clear_order(Order* order)// 清除表元素 bool insert_order(Order* order,int index,TYPE val)// 插入元素 bool delete_order(Order* order,int index)…

Leetcode202.快乐数(C++,哈希集合,快慢指针)

Leetcode202.快乐数&#xff08;C,哈希集合&#xff0c;快慢指针&#xff09;题目示例知识点思路代码题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这…

深入代码优化 (一) 使用分支预测技术

简介 条件分支是指后续具有两路可执行的分支。可以分为跳转分支(taken branch)和不跳转分支(not-taken branch)。不跳转分支&#xff0c;指接下来会顺序执行紧挨着JMP的指令。跳转分支&#xff0c;通过JMP跳转到另外一块内存去执行那里的指令。 是否执行条件跳转&#xff0c;…

1月12日学习总结

上午写了一下删除链表中重复元素&#xff0c;不知道为什么输出不了结果 对循环链表进行元素的删除和增加&#xff0c;构建循环链表就是将链表的末指针指向头指针 题目描述 构建一个双向链表并进行删除和插入操作&#xff0c;按要求输出。输入格式 输入&#xff1a; 第一行输入…

数据结构——线性表知识点总结

理论 线性表是一种最简单&#xff0c;最基本的数据结构用来描述数据元素之间单一的前去和后继关系。所有二维表的逻辑结构都是线性的。线性表的顺序存储结构称为顺序表&#xff0c;其基本思想是用一段连续的存储单元依次存储线性表的数据元素。只要确定了存储顺序表的起始位置…

C++ 数据结构——线性表的查找技术(顺序查找)

/*线性表——顺序查找*/ #include<iostream> #include<string> using namespace std; const int maxsize100; class LinkSearch { private:int data[maxsize];int length; public:LinkSearch(int a[],int n);int SeqSearch(int k); }; LinkSearch::LinkSearch(int …

最优二叉树

一、概述 针对数据结构中的最优二叉树章节&#xff0c;做出笔记&#xff0c;以支持后期的回顾和了解。主要囊括了如下部分&#xff1a; 什么是哈弗曼怎么创建最优二叉树哈弗曼编码&#xff0c;用途 二、讲解 1、哈弗曼 定义&#xff1a; 树中带有权值&#xff0c;并且权值…

简述图之拓扑排序(python)实现

要想知道什么是拓扑排序&#xff0c;那首先得有数学功底嘛&#xff0c;所以我们先来说说离散数学中的偏序和全序的概念。 偏序&#xff1a; 集合内只有部分元素之间在这个关系下是可以比较的 比如&#xff1a;比如复数集中并不是所有的数都可以比较大小&#xff0c;那么“大小…

哈希表(哈希函数的构造方法、处理冲突的方法,以及哈希索引的弊端)

在之前讨论到的线性结果和线性结构中&#xff0c;记录在结构中的相对位置是随机的&#xff0c;和记录的关键字之间不存在确定的关系&#xff0c;因此&#xff0c;在那些结构中查找关键字主要的操作就是进行比较&#xff0c;查找的效率依赖于查找过程中所进行的比较次数。 于是…

oracle基本数据类型|Oracle 9i 的基本数据类型

Oracle 9i 的基本数据类型 数据类型含义char定长的字符型数据&#xff0c;最大长度可达2KBnchar存储Unicode字符集的定长字符型数据&#xff0c;最大长度为2KBVarchar2可变长的字符型数据&#xff0c;最大长度可达4000个字符Nvarchar2存储Unicode字符集的变长字符型数据&#x…

WEB中数据库设计及SQL语句代码注意事项

1.数据库设计&#xff1a;按照业务部门的需求进行表结构字段确定&#xff1a;I》数字型在检索&#xff0c;排序操作时比字符型来的快,如果你能用数字型的那就用数字型。II》字段尽 量不要为空&#xff1a;因为一旦为空后在查询时你会增加一个不为null的判断&#xff0c;这是额外…

希尔排序JAVA实现

实现原理动态图解&#xff1a; import java.util.Arrays;public class ShellSort {public static void shellSortSmallToBig(int[] data) {int j 0;int temp 0;int jmpdata.length/2;for ( jmp data.length / 2; jmp > 0; jmp / 2) {System.out.println("jmp:"…

双指针 滑动窗口

字符串 指针跳步思路 3. Longest Substring Without Repeating Characters (1) Longest Substring Without Repeating Characters - LeetCode 思路&#xff1a;双指针动态维护 begin指针指向当前查找无重复的初始位置&#xff0c;cur指针向前遍历并完成查找。 1&#xff1a…

python_怎么取出列表元素的索引

第一种方法&#xff1a; 使用list.index() 这种方法要记住&#xff0c;输入的类型可以是数值或者字符串&#xff0c;如果有相同的元素&#xff0c;是默认取出第一个元素的索引 第二种方法&#xff1a;enumerate 这种方法比较是和在遍历过程种取出对应的值

题186.pat甲级练习-1044 Shopping in Mars (25 分)(滑动窗口)

文章目录题186.pat甲级练习-1044 Shopping in Mars (25 分)一、题目二、题解题186.pat甲级练习-1044 Shopping in Mars (25 分) 一、题目 二、题解 依题目大意&#xff0c;说白了就是要你输出连续子列和等于M的所有区间&#xff0c;要是没有等于M的就输出大于M中最小的(比M大但…

颜色分类(数组 双指针)

给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库的sort函数的情况下解决这个问题。…

青少年软件编程(202209)(C语言)(动态规划)等级考试(四级)试题及参考答案

等级标准 掌握基本算法中的动态规划方法&#xff1b;能够使用上述方法编写指定功能的正确完整的程序。 1、最长上升子序列 考试题目 一个数的序列bi&#xff0c;当b1 < b2 < … < bS的时候&#xff0c;我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN…

力扣算法题26-树的子结构(JavaScript/TypeScript)

解题思路&#xff1a; 因为题目规定空树不是任意一个树的子结构&#xff0c;所以A B任意空树返回false判断B树是否为A树的子结构就是看A树与B树是否一致&#xff0c;或者A的左子树是否与B树一致&#xff0c;或者A的右子树是否与B树一致第二步的逻辑判断实际上用到了很多重复的…

C++STL迭代器实现原理之三:迭代器的实现与使用

1、迭代器的基本原理与功能 经过前面两文章的铺垫&#xff0c;现在终于要开始讲迭代器的具体实现了。可以先看一下迭代器的常见用法&#xff1a; vector<int> vec; for(int i0;i<5;i)//将元素0~4装进容器vec.push_back(i); vector<int>::iterator itervec.begi…

JAVA数组结构——稀疏数组

稀疏数组 基本介绍 当一个数组中大部分元素为0&#xff0c;或者为同一个值的数组时&#xff0c;可以使用稀疏数组来保存处理方法 记录数组一共有几行几列&#xff0c;有几个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中&#xff0c;从而缩小程序的规模 基…

第七章-查找-算法设计题6

第七章-查找-算法设计题6 题目描述 分别写出在散列表中插入和删除关键字为 K 的一个记录的算法&#xff0c;设散列函数为 H&#xff0c;解决冲突的方法为链地址法。 实现 #pragma once #include <iostream>using namespace std;#define LEN 13typedef struct hash_no…

[解题报告](第20讲) 进制转换(二) - 进阶

零、写在前面 这是打卡的第二十天&#xff0c;今天题目还是有点难度的&#xff0c;不过就是题量下来了&#xff0c;可以沉淀一下之前的题目了&#xff0c;主要知识点在《算法零基础100讲》(第20讲) 进制转换(二) - 进阶https://blog.csdn.net/WhereIsHeroFrom/article/details/…

[解题报告](第19讲) 进制转换(一) - 入门

主要目录 零、写在前面 这是打卡的第十九天&#xff0c;今天题目比较简单&#xff0c;就是题量巨大&#xff0c;&#xff0c;主要知识点在 《算法零基础100讲》(第19讲) 进制转换(一) - 入门https://blog.csdn.net/WhereIsHeroFrom/article/details/120875977https://blog.csd…

[解题报告]《算法零基础100讲》(第10讲) 因子分解和枚举(上)

文章目录 零、写在前面 一、主要知识点 课后习题详解 1492.n的第k个因子 思路 总结 1362.最接近的因数 思路 总结 零、写在前面 这是打卡的第十天&#xff0c;由于今天的第二题有一定的难度&#xff0c;需要我花费比较大的篇幅做题解&#xff0c;所以分了两个分集&#…

【4.7日题解】——约瑟夫问题(c代码表述)

☘前言☘ 今日份水题开始。希望有想要提高的同学跟我们一起来刷题0.0 4.7日每日一题——约瑟夫问题 &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201891280(QQ) ⏳全文大约阅读时间&#xff1a; 20min 全文目录…

【4.3日题解】——贪心(c代码表述)

☘前言☘ 今天的题目也不难&#xff0c;就基本的贪心硬贪就好了。希望有想要提高的同学跟我们一起来刷题0.0 4.3日每日一题——贪心 &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201891280(QQ) ⏳全文大约阅读…

【从零开始的嵌入式生活】网络编程1——网络基础

今天正式开启网络编程&#xff0c;之前博主没怎么接触过网络编程&#xff0c;所以这部分会写的细一点&#xff0c;预计这部分是需要七天文章对应一星期的写作。希望有人愿意跟我一起学习呀。 &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个学嵌入式的年轻人 ✨联系方式&a…

【Java】链表的中间结点

&#x1f388;目录&#x1f388; 问题描述&#x1f512; 解题分析&#x1f511; 代码实现&#x1f513; 题目入口&#x1f4cc;&#xff1a;链表的中间结点 问题描述 给定一个头结点为 head 的非空单链表&#xff0c;返回链表的中间结点。 如果有两个中间结点&#xff0c;则…

【算法笔记题解】PAT A1075 PAT Judge

目录 前言 题目描述 1075 PAT Judge (25 分) 输入描述 输出描述 输入示例 输出示例 解题思路 题目理解 代码实现 结果分析 前言 昨天PAT官网迁移服务器&#xff0c;所以就去牛客网刷题了&#xff0c;测试点打死都过不去。死磕到三点未果&#xff0c;今天PAT好了立刻…

拉丁方阵-JAVA

LatinSquare拉丁方阵JAVA解问题介绍解问题介绍 传送门 n阶方阵中&#xff0c;恰有 n 种不同的元素&#xff0c;每一种不同的元素在同一行或同一列里只出现一次。 解 应用循环列表&#xff0c;不断移动头节点位置构造方阵的行&#xff08;使每个元素错开输出&#xff09;&…

【算法笔记题解】《算法笔记知识点记录》第二章——快速入门2[选择结构、循环结构和数组]

今天是我开坑的第二天&#xff0c;今天显得有计划了很多。c/c估计得过两天左右。我保持一天一万字左右的更新量&#xff0c;如果喜欢大家还希望给个收藏点赞呀0.0 相关知识点大家没基础的还是要看一下的&#xff0c;链接&#xff1a;《算法笔记知识点记录》第二章——快速入门…

第五章算法设计题1

第五章算法设计题1 题目描述 &#xff08;1&#xff09;统计二叉树的叶结点个数。 代码实现 #pragma once #include <iostream>using namespace std;//二叉树的二叉链表存储表示 typedef struct BiTnode {char data;//结点数据域struct BiTnode* lchild;//左指针struc…

第四章算法设计题1

第四章算法设计题1 题目描述 注意&#xff1a;C里面数字&#xff08;字母&#xff09;字符与数字之间的相互转换 代码实现 #pragma once #include <iostream>using namespace std;void count() {//创建频度数组 并初始化全为0int times[36] { 0 };//输入的字符char …

第三章算法设计题1

第三章算法设计题1 题目描述 代码实现 #pragma once #include <iostream> using namespace std;#define MAXSIZE 6//双栈数据结构定义 typedef struct {int top[2], bot[2]; //栈顶和栈底指针int* v; //栈数组int m; //栈最大可容纳元素个数 }DblStack;//双栈初始…

案例3.2括号匹配的检验

案例3.2括号匹配的检验 案例描述 代码实现 #pragma once #include <iostream>using namespace std;//顺序栈的存储结构 #define MAXSIZE 100 typedef struct {char* base; //栈底指针char* top; //栈顶指针//栈可用的最大容量int stacksize; }SqStack;//顺序栈的初…

串的模式匹配,c/c++描述

很好的视频链接 懒猫老师-数据结构-(15)KMP算法2-next数组(模式匹配,字符串匹配)_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1U7411f7CB/?spm_id_fromautoNext 以下是完整代码&#xff0c;见名知意的程序易于阅读和理解。 #include<iostream> using namesp…

绳子覆盖最多的点数(22大厂面试题【Java】)

贪心算法&#xff0c;二分查找&#xff1a; 双指针&#xff1a;最优解

Lc9.回文数(java)

给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。例如&#xff0c;121 是回文&#xff0c;而 …

数据结构分类

十三张图带你彻底了解所有数据结构 数据结构分类 数据结构分为逻辑结构和存储结构&#xff08;物理结构&#xff09;。 逻辑结构&#xff1a;指数据元素之间逻辑关系的数据结构&#xff0c;这里的逻辑关系是指数据元素之间的前后间关系&#xff0c;与数据在计算机中的存储位…

python实现选择排序(数据结构笔记)

选择排序主要是通过从待排序元素中选出最小的元素放在起始位置&#xff0c;从剩下的元素中选择最小的元素放在第二个位置。 import numpy as npdef selectionSort(lyst):i 0while i < len(lyst) - 1 :minIndex ij i 1while j < len(lyst):if lyst[j] < lyst[min…

15.元组(低调的元组,不一样的精彩)

目录 一、元组的创建 二、元组的修改 三、元组的操作 四、元组的解包 五、元组的思考与拾遗 1.为什么有了列表还要元组&#xff1f; 2.空元组的意义 3.具名元组 六、元组练习 1.元组基础练习 2.元组的解包 3.简单分析电影数据 七、第十一课练习参考答案 元组是固定…

LinkHashMap分析,Link体现在哪里?如何实现

linkHashMap分析 1. link体现在哪里&#xff1f; LinkHashmap继承与HashMap。重写了其中的几个方法。并且在hashMap的基础上维护了一个双向列表。用于连接所有的实体&#xff0c;链表连接的顺序通常来说是插入的顺序&#xff0c;注意这里说的是通常&#xff0c;也是可以改变的…

《数据结构与算法之美》 笔记五 链表 上

文章目录前言五花八门的链表结构单链表循环链表双向链表空间换时间链表 VS 数组性能对比解答开篇前言 今天我们来聊聊“链表&#xff08;Linked list&#xff09;”这个数据结构。学习链表有什么用呢&#xff1f;为了回答这个问题&#xff0c;我们先来讨论一个经典的链表应用场…

《数据结构与算法之美》 笔记四 数组

文章目录前言如何实现随机访问&#xff1f;低效的“插入”和“删除”警惕数组的访问越界问题容器能否完全替代数组&#xff1f;解答开篇内容小结思考题&#xff1a;前言 是的&#xff0c;在每一种编程语言中&#xff0c;基本都会有数组这种数据类型。不过&#xff0c;它不仅仅…

《数据结构与算法之美》 笔记三 复杂(下)

文章目录前言最好、最坏情况时间复杂度平均情况时间复杂度均摊时间复杂度内容小结前言 上一节&#xff0c;我们讲了复杂度的大 O 表示法和几个分析技巧&#xff0c;还举了一些常见复杂度分析的例子&#xff0c;比如 O(1)、O(logn)、O(n)、O(nlogn) 复杂度分析。掌握了这些内容…

剑指offer 刷题 十二 双指针(25 52)

剑指 Offer 25. 合并两个排序的链表 输入两个递增排序的链表&#xff0c;合并这两个链表并使新链表中的节点仍然是递增排序的。 双指针&#xff1a; def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:cur, cur1, cur2 ListNode(), l1, l2res curwhile c…

算法通关40讲 笔记三(堆栈 队列 优先队列)

堆栈&#xff08;stack&#xff09;&#xff1a; 也可以叫栈。但是不能叫堆&#xff0c;堆是heap。 先入后出 First in last out&#xff08;FILO&#xff09; 队列&#xff08;Queue&#xff09;&#xff1a; 先入先出Fisrt in First out&#xff08;FIFO&#xff09; 实战…

Leetcode 1584. 连接所有点的最小费用 最小生成树 prime/kruskal C++tuple的使用

原题链接&#xff1a;Leetcode 1584. 连接所有点的最小费用 prime&#xff1a; class Solution { public:vector<int> d;vector<int> visit;int cost0;void prime(vector<vector<int>>& points,int t,int n){d[t]0;for(int i0;i<n;i){int u-1,…

Leetcode 1514. 概率最大的路径 Dijkstra+修改+优化

原题链接&#xff1a;Leetcode 1514. 概率最大的路径 class Solution { public:struct cmp{bool operator() (const pair<int,double>& a,const pair<int,double>& b){return a.second<b.second;}};vector<double> d;vector<int> visi…

Leetcode 2101. 引爆最多的炸弹 预处理构图+DFS/BFS

原题链接:Leetcode 2101. 引爆最多的炸弹 DFS class Solution { public:int num0;vector<vector<int>> adj;void dfs(int now,vector<int>& visit){visit[now]1;num;for(auto x:adj[now]){if(!visit[x]) dfs(x,visit);}}int maximumDetonation(vector&…

Leecode 1976. 到达目的地的方案数 Dijkstra+DP

原题链接&#xff1a;Leecode 1976. 到达目的地的方案数 参考&#xff1a;到达目的地的方案数 dijkstraDP&#xff0c;用一个cnt数组记录一下每个点到起点的最短路径的数量。 class Solution { public:vector<vector<pair<int,int>>> adj;vector<int>…

Leetcode 1042. 不邻接植花 图染色

原题链接&#xff1a;Leetcode 1042. 不邻接植花 class Solution { public:vector<int> gardenNoAdj(int n, vector<vector<int>>& paths) {vector<int> res(n1);vector<vector<int>> adj(n1);for(auto x:paths){int ax[0],bx[1];adj…

Leetcode 1371. 每个元音包含偶数次的最长子字符串 异或+前缀和

原题链接&#xff1a;Leetcode 1371. 每个元音包含偶数次的最长子字符串 参考题解&#xff1a;Leetcode 1371. 每个元音包含偶数次的最长子字符串 class Solution { public:int findTheLongestSubstring(string s) {vector<int> v(1<<5,INT_MAX);v[0]-1;int state…

CCF-CSP 201809-3 元素选择器

原题链接&#xff1a;CCF-CSP 201809-3 元素选择器 参考题解&#xff1a;CCF201809-3 元素选择器&#xff08;100分&#xff09;【文本处理】 #include <bits/stdc.h> using namespace std; const int N110; struct node {string name;string id;int len; }h[N];int mai…

Leecode 865. 具有所有最深节点的最小子树 DFS

原题链接&#xff1a;Leecode 865. 具有所有最深节点的最小子树 自己写的代码&#xff0c;比较复杂&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(n…

Leecode 124. 二叉树中的最大路径和 DFS

原题链接&#xff1a;Leecode 124. 二叉树中的最大路径和 开始写的很冗长&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr)…

Leecode 543. 二叉树的直径 递归

原题链接&#xff1a;Leecode 543. 二叉树的直径 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), l…

Leecode 401. 二进制手表

原题链接:Leecode 401. 二进制手表 糙到不行的DFS&#xff08;效率感人&#xff09;&#xff1a; class Solution { public:vector<string> res;int l1[4],l2[6];void dfs(int n,int now,int h,int m){if(nnow){if(!(h>11 || m>59)) {string s;sto_string(h);s:…

Leecode 面试题 08.12. 八皇后

原题链接&#xff1a;Leecode 面试题 08.12. 八皇后 class Solution { public:vector<vector<string>> res;bool v[9];int col[9];void dfs(int n,int now){if(nnow){vector<string> v;for(int i0;i<n;i){string s;for(int j0;j<n;j){if(col[j]!i) s…

Leecode 802. 找到最终的安全状态 拓扑排序/DFS

原题链接&#xff1a;802. 找到最终的安全状态 拓扑排序 class Solution { public:vector<int> eventualSafeNodes(vector<vector<int>>& graph) {vector<int> res;int ngraph.size();vector<int> degree(n);vector<vector<int>…

LeetCode50天刷题计划(Day 22—— 寻找两个正序数组的中位数、合并两个有序数组(13.30-16.30)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目寻找两个正序数组的中位数示例提示二、思路三、代码1.&#xff08;练手&#xff09;leetcode第88题——合并两个有序数组2.二路归并 O&#xff08;mn&am…

LeetCode50天刷题计划(Day 19—— 在排序数组中查找元素的第一个和最后一个位置(9.10-10.40)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目在排序数组中查找元素的第一个和最后一个位置示例提示二、思路三、代码1.二分线性&#xff08;python&#xff09;2.二分&#xff0b;二分前言 啊 好困…

LeetCode50天刷题计划(Day 16—— 两两交换链表中的节点(9.10-10.30)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目两两交换链表中的节点示例提示二、思路三、代码前言 简单的链表题&#xff0c;但是不能小看&#xff0c;要细心的&#xff0c;不然就是无穷的debugQAQ …

剑指offer 刷题 十三 双指针(21 57 58-I)

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数在数组的前半部分&#xff0c;所有偶数在数组的后半部分。 暴力法&#xff1a; def exchange(self, nums: List[int]) -> List[…

LeetCode50天刷题计划第二季(Day 20 — 复制带随机指针的链表(12.00-12.30 )

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、题目复制带随机指针的链表示例提示二、思路三、代码前言 芜湖 学习第一天~ 一、题目 复制带随机指针的链表 给你一个长度为 n 的链表&#xff0c;每个节…

常用工具(数据结构)

数据结构可视化网址 https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

数据结构(二)—— 链表(2)

文章目录 1 143 重排链表1.1 找到原链表的中点&#xff08;「876. 链表的中间结点」&#xff09;。2.2 将原链表的右半端反转&#xff08;「206. 反转链表」&#xff09;3.3 交叉合并两个链表&#xff08;与「21. 合并两个有序链表」思路不同&#xff09;3.4 补充 21 合并两个有…

设备树相关概念的理解

设备树 定义 设备树是描述硬件信息的一种树形结构&#xff0c;设备树文件会在内核启动后被内核解析得到对应设备的具体信息。 树形结构就自然会存在节点&#xff0c;硬件设备信息就存储再设备树中的节点上&#xff0c;即设备节点。而一个设备节点中可以存储硬件的多个不同属性…

【算法】差分

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;合理规划时间与精力&#x1f43e; 1.什么是差分&#xff1f; 与前缀和是反函数 原数组a a1 , a2 , a3 , a4 , a5 , a6 , a7 构造数组b a1b1; a2b1b2; a3b1b2b3; … aib1b2b3…bi; 构造一个b数组使得&#…

循环双链表与双循环链表差别_实施循环双链表| C程序

循环双链表与双循环链表差别Solution: 解&#xff1a; Input: The data of each node 输入&#xff1a;每个节点的数据 Output: The circular doubly linked list 输出&#xff1a;圆形双向链表 Data structure used: A circular doubly linked list where each node contai…

stl向量_C ++ STL中向量的大小和容量之间的差异

stl向量1)C STL向量大小 (1) C STL vector size) The vector size is the total number of elements of a vector and it always the same for all compilers. To get the size of a vector, vector::size() function is used. 向量大小是向量元素的总数&#xff0c;对于所有编…

mcq 队列_MCQ | 8086微处理器中的过程和宏

mcq 队列Question 1: 问题1&#xff1a; Which of the following assembler directives are used to define a Procedure in the 8086 microprocessor? 以下哪个汇编程序伪指令用于在8086微处理器中定义过程&#xff1f; PROCEDURE and ENDP 程序和结束 STARTP and ENDP ST…

【Redis的基本数据结构有哪几种,平常用的多的有哪几种,zset的底层实现原理是什么】

Redis 的基本数据结构有五种&#xff0c;分别是&#xff1a; String&#xff08;字符串&#xff09;&#xff1a;最常用的数据结构之一&#xff0c;可以存储任意类型的字符串、数字或二进制数据。常用于缓存、计数器、分布式锁等场景。 List&#xff08;列表&#xff09;&…

详解Redis数据结构——字典

字典&#xff0c;又称映射&#xff08;map&#xff09;&#xff0c;是一种保存键值对的抽象数据结构。这种数据结构是内置在很多高级语言中&#xff0c;但是Redis所使用的C语言并没有内置这种数据结构&#xff0c;因为Redis构建了自己的字典实现。Redis数据库就是使用字典来作为…

[解题报告]《算法零基础100讲》(第42讲) 位运算 (位与) 进阶

全文目录☘前言☘&#x1f381;主要知识点位与运算&#x1f4d3;课后习题397. 整数替换1404. 将二进制表示减到 1 的步骤数201. 数字范围按位与面试题 05.01. 插入982. 按位与为零的三元组&#x1f4d1;写在最后☘前言☘ 今天是算法零基础打卡的第43天&#xff0c;题目本身不难…

[解题报告]【第30题】给定 n 个元素的升序整型数组,再给出一个值 target,求实现一个函数查找 nums 中 target 的下标

全文目录☘前言☘&#x1f381;主要知识点二分查找&#x1f4d3;课后习题704. 二分查找&#x1f4d1;写在最后☘前言☘ 今天是c语言基础打卡的第30天&#xff0c;今天这些题还是有点意思的。 相关链接&#xff1a; 【第30题】给定 n 个元素的升序整型数组&#xff0c;再给出一个…

[解题报告]【第26题】给定 l 和 r,输出所有 [l, r] 的水仙花数 | 差分法初体验

全文目录☘前言☘&#x1f381;主要知识点差分法初体验&#x1f4d3;课后习题1837. K 进制表示下的各位数字总和1399. 统计最大组的数目504. 七进制数&#x1f4d1;写在最后☘前言☘ 今天是c语言基础打卡的第26天&#xff0c;今天这写题我都写过&#xff0c;给个题解供大家参考…

[解题报告]《算法零基础100讲》(第37讲) 排序进阶 - 快速排序

文章目录零、写在前面一、主要知识点快速排序二、课后习题539. 最小时间差977. 有序数组的平方870. 优势洗牌881. 救生艇写在最后零、写在前面 今天是打卡的第37天&#xff0c;今天的难度一般般&#xff0c;赶紧写写写篇python爬虫试试水0.0 知识点在&#xff1a; 《算法零基础…

[刷题计划]第二周第三天

主要的题目 简单题 145. 二叉树的后序遍历 94. 二叉树的中序遍历 496. 下一个更大元素 I 682. 棒球比赛 589. N 叉树的前序遍历 590. N 叉树的后序遍历 844. 比较含退格的字符串 897. 递增顺序搜索树 1047. 删除字符串中的所有相邻重复项 中等题 150. 逆波兰表达式…

[解题报告]《算法零基础100讲》(第27讲) 字符串算法(七) - 高精度

目录 零、写在前面 一、主要知识点 1.高精度加法 2.高精度乘法 3.分治思想 二、课后习题 1556. 千位分隔数 1945. 字符串转化后的各位数字之和 1796. 字符串中第二大的数字 539. 最小时间差 3. 罗马数字转整数 12. 整数转罗马数字 面试题 01.06. 字符串压缩 415. 字…

Format a Sentence-格式化输出句子

Format a Sentence-格式化输出句子//Format a Sentence #include<iostream> #include<cstdlib> #include<cctype> #include<cstring>using namespace std;void get_sentence(char a[],int& size); void process_sentence(char a[],int size);int m…

4.3 设计链表

707 设计链表题目在链表类中实现这些功能&#xff1a;get(index)&#xff1a;获取链表中第 index 个节点的值。如果索引无效&#xff0c;则返回-1。addAtHead(val)&#xff1a;在链表的第一个元素之前添加一个值为 val 的节点。插入后&#xff0c;新节点将成为链表的第一个节点…

数据结构第一课(C语言基础知识)

为了使用C语言手撕数据结构&#xff0c;我们应首先对C语言有所了解&#xff0c;以下是博主挑的比较重要的一些知识点&#xff0c;相信对C语言基础不够好的童鞋有所帮助。 目录1. Hello World程序2. 选择&#xff08;判断&#xff09;3. 循环for 循环while 循环4. 数组5. 指针6.…

刷题:树形结构—树

树的定义与相关概念 1.树与链表和图的关系 单链表&#xff1a;一个数据域一个指针域 树&#xff1a;一个数据域多个指针域&#xff0c;多了层次性 图&#xff1a;顶点集边 树&#xff1a;无环连通图 2.树的定义 树是N&#xff08;N>0&#xff09;个节点的有限集合。N等…

删除倒数第 N 个节点

给定单向链表&#xff0c;删除指定的倒数第 N 个节点。 需要考虑链表长度大于、小于 N&#xff0c;假设 N 是有效的整数。 package com.loo; public class RemoveNthFromEnd { public static void main(String[] args) { Node head new Node(1); Node n1 n…

学堂在线数据结构-chap2

第二章-作业问题 1、 Is it possible to replace:是否可以将视频里向量扩容代码中的&#xff1a; for (int i 0; i < _size; i) _elem[i] oldElem[i]; in the vector expansion code in the video with: 替代为&#xff1a; memcpy(_elem, oldElem, _size * sizeof(T));…

Leetcode 1129. 颜色交替的最短路径 BFS+模拟

原题链接&#xff1a;Leetcode 1129. 颜色交替的最短路径 参考&#xff1a;颜色交替的最短路径 思路清晰 基于基本BFS轻松写出 充分理解题意 class Solution { public:vector<int> shortestAlternatingPaths(int n, vector<vector<int>>& redEdges, vec…

Leetcode 1791. 找出星型图的中心节点 计算度

原题链接&#xff1a;Leetcode 1791. 找出星型图的中心节点 class Solution { public:int findCenter(vector<vector<int>>& edges) {int res0,cnt0;int nedges.size()1;vector<int> degree(n1);for(auto x:edges){int ax[0],bx[1];degree[a]; degree[b…

Leetcode 2115. 从给定原材料中找到所有可以做出的菜 拓扑排序+hash+模拟

原题链接&#xff1a;Leetcode 2115. 从给定原材料中找到所有可以做出的菜 class Solution { public:vector<string> findAllRecipes(vector<string>& recipes, vector<vector<string>>& ingredients, vector<string>& supplies) {i…

待键值的排序

给你一个待查数组 queries &#xff0c;数组中的元素为 1 到 m 之间的正整数。 请你根据以下规则处理所有待查项 queries[i]&#xff08;从 i0 到 iqueries.length-1&#xff09;&#xff1a; 一开始&#xff0c;排列 P[1,2,3,...,m]。 对于当前的 i &#xff0c;请你找出待查…

java实现冒泡排序

冒泡排序&#xff1a; 算法重复走访要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果它们顺序错误就交换它们的位置&#xff0c;这样最大的数就到了最后&#xff0c;重复操作即可得到有序数列。 冒泡排序算法运行&#xff1a; 1. 比较相邻的元素。如果第一个比第二…

Leetcode 959. 由斜杠划分区域 DFS+模拟/并查集

原题链接&#xff1a;Leetcode 959. 由斜杠划分区域 解法一&#xff1a;将一个方块看成3x3的矩阵&#xff0c;使用dfs判断有多少块区域&#xff0c;参考&#xff1a; [C] [动画] 转换成岛屿个数 class Solution { public:void dfs(vector<vector<int>>& g,int…

Leetcode 2477. 到达首都的最少油耗 dfs+贪心

原题链接&#xff1a;Leetcode 2477. 到达首都的最少油耗 计算节点的子节点数&#xff0c;使用贪心策略&#xff0c;让一辆车尽量载更多的人 class Solution { public:vector<vector<int>> adj;long long res0;long long dfs(int now,int seats,int pre){long lon…

【C++】日期类的实现

目录 比较运算符重载关于 < 重载的判断逻辑 算数运算符重载关于复用还是复用关于两个日期对象相减注意考虑天数的正负 前置&#xff0c;后置 重载关于前置和后置运算符重载的参数问题关于重载函数返回值&#xff1a; 流运算符的重载 比较运算符重载 关于 < 重载的判断逻…

数据结构栈的实现

目录栈的概念栈的结构声明初始化数据入栈出栈判断栈是否为空取栈顶的值销毁栈栈的概念 栈是一种线性表&#xff0c;插入数据的一端叫栈顶&#xff0c;另一端叫栈底。 入栈&#xff1a;数据从栈顶进入栈中 出栈&#xff1a;数据从栈顶删除 所以&#xff0c;栈的特点就是先进后出…

第十三届蓝桥杯省赛 JAVA A组 - 蜂巢

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4da;专栏地址&#xff1a;蓝桥杯题解集合 &#x1f4dd;原题地址&#xff1a;蜂巢 &#x1f4e3;专栏定位&#xff1a;为想参加蓝桥杯的小伙伴整理常考算法题解&#xff0c;祝大家都能…

逆序遍历List集合

1 问题手写一个程序&#xff0c;完成List集合对象的逆序遍历2 方法创建List接口的多态对象向创建好list集合添加元素使用hasPrevious方法。import java.util.ArrayList;import java.util.List;import java.util.ListIterator;public class TestList { public static void ma…

C语言字符串常用操作函数---小记

C语言字符串常用操作函数 以下函数在头文件<string.h>中定义。在下面的各个函数中&#xff0c;s与t为char*类型&#xff0c;c与n为int类型。 strcat(s,t)将t指向的字符串连接到s指向的字符串的末尾。 strncat&#xff08;s,t,n)将t指向的字符串中前n个字符连接到s指向…

串的定义 存储结构 操作 简单模式匹配 KMP算法 C语言实现

串的定义 串是由零个或多个字符组成的有限序列串中的字符个数n为串的长度字符在串中的位置一般情况下是从1开始数&#xff08;位序&#xff09; 串的存储结构 顺序存储 #define MAXLEN 255 typedef struct{char ch[MAXLEN];int length; }SString这种方式直接分配一个固定长度…

2.常见8种排序算法分析笔记之-时间O(NlogN)三种(归并、快排、堆排序)

文章目录时间复杂度为O(NlogN)O(Nlog_{}N)O(Nlog​N)的三种排序法一、归并排序法1.代码实现思想2.复杂度分析3.代码实现4.代码测试二、快速排序法1.代码实现思想2.复杂度分析3.代码实现单路快速排序法&#xff1a;双路快速排序法&#xff1a;三路快速排序法&#xff1a;4.代码测…

【LeetCode】C++:数组类算法-做好初始定义篇章

目录 283. 移动零 27. 移除元素 26. 删除排序数组中的重复项 80. 删除排序数组中的重复项 II 283. 移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。请注意 &#xff0c;必须在不复制数组的情况下原地…

快速排序(分治思想)

快速排序: 空间复杂度 :O(logn)-O(n) 时间复杂度 :O(nlogn)-O(n^2) 稳定性: 快速排序是不稳定的排序算法 2 2 1 排完之后相对顺序发生了变化 只适用于数组排序。 前面提到的 直接插入排序、冒泡排序、希尔排序、在元素有序或者说基本有序的情况下,时…

CF43A Football 题解

CF43A Football 题解题目链接字面描述题面翻译题面描述题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2代码实现题目 链接 https://www.luogu.com.cn/problem/CF43A 字面描述 题面翻译 题面描述 两只足球队比赛&#xff0c;现给你进…

链表学习之找到两个链表相交的第一个节点

链表解题技巧 额外的数据结构&#xff08;哈希表&#xff09;&#xff1b;快慢指针&#xff1b;虚拟头节点&#xff1b; 找到两个链表相交的第一个节点 给定两个链表&#xff0c;这两个链表可能有环&#xff0c;可能无环。判断这两个链表是否相交&#xff0c;相交则返回第一…

Leetcode.826 安排工作以达到最大收益

题目链接 Leetcode.826 安排工作以达到最大收益 Rating &#xff1a; 1709 题目描述 你有 n个工作和 m个工人。给定三个数组&#xff1a; difficulty, profit 和 worker&#xff0c;其中: difficulty[i]表示第 i个工作的难度&#xff0c;profit[i]表示第 i个工作的收益。work…

算法笔记(十一)—— 并查集、KMP

并查集 支持集合快速合并 所有数据生成各自的集合&#xff0c;需要提供查询两个两素是不是属于一个集合&#xff0c;和集合合并操作&#xff0c;并查集能够在常数时间级别上对两个操作进行实现 1. 构造结构&#xff08;数据指针&#xff09;&#xff0c;将自己的指针指向自己…

LeetCode 226. 翻转二叉树

LeetCode 226. 翻转二叉树 难度&#xff1a;easy\color{Green}{easy}easy 题目描述 给你一棵二叉树的根节点 rootrootroot &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6…

大数据处理学习笔记1.6 Scala数据结构

文章目录零、本讲学习目标一、数组 (Array)&#xff08;一&#xff09;定长数组1、数组定义&#xff08;1&#xff09;定义数组时初始化数据&#xff08;2&#xff09;定义时指定数组长度&#xff0c;后赋值2、数组遍历&#xff08;1&#xff09;传统for循环方式&#xff08;2&…

Open3D综述

2021SCSDUSC 项目背景 数据可视化主要旨在借助于图形化手段&#xff0c;清晰有效地传达与沟通信息&#xff0c;发展到后来&#xff0c;应用3D图形来展示&#xff0c;使得数据更加的生动与形象。对于信息的质量有很大一部分是因为信息的表达方式&#xff0c;而数据可视化就是很…

一道简单题引发的思考

☘前言☘ 其实好久都不写算法相关的题目了&#xff0c;最近某群友问了一道简单题&#xff0c;但是一时没想起来&#xff0c;后来深入思考了一下进行一下记录。 &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201…

【五月集训5.13】———双向链表

☘前言☘ 开更五月集训专题&#xff0c;由浅入深&#xff0c;深入浅出&#xff0c;飞向大厂&#xff01; &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201891280(QQ) ⏳全文大约阅读时间&#xff1a; 20min 全…

【五月集训5.12】———链表

☘前言☘ 开更五月集训专题&#xff0c;由浅入深&#xff0c;深入浅出&#xff0c;飞向大厂&#xff01; &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201891280(QQ) ⏳全文大约阅读时间&#xff1a; 20min 全…

[解题报告]《算法零基础100讲》(第35讲) 基础排序 - 插入排序

目录 零、写在前面 一、主要知识点 1.插入排序 二、课后习题 88. 合并两个有序数组 611. 有效三角形的个数 147. 对链表进行插入排序 写在最后 零、写在前面 今天是打卡的第35天&#xff0c;今天的难度一般般&#xff0c;赶紧写写复习考试了-.-知识点在&#xff1a; …

[解题报告]《算法零基础100讲》(第32讲) 多维枚举(二) - 进阶

目录 零、写在前面 一、主要知识点 1.hash降维 二、课后习题 1385. 两个数组间的距离值 1291. 顺次数 2048. 下一个更大的数值平衡数 349. 两个数组的交集 349. 两个数组的交集 1566. 重复至少 K 次且长度为 M 的模式 2025. 分割数组的最多方案数 写在最后 零、写在…

[解题报告](第24讲) 字符串算法(四) - 字符计数法

目录 零、写在前面 一、主要知识点 1.字符记数 二、课后习题 面试题 01.01. 判定字符是否唯一 剑指 Offer 50. 第一个只出现一次的字符 383. 赎金信 771. 宝石与石头 面试题 01.02. 判定是否互为字符重排 1941. 检查是否所有字符出现次数相同 242. 有效的字母异位词 …

【动态规划】70. 爬楼梯

题目&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 示例 1&#xff1a; 输入&#xff1a; 2输出&#xff1a; 2解释&#xff1a; 有两种…

【贪心】56. 合并区间

题目&#xff1a; 给出一个区间的集合&#xff0c;请合并所有重叠的区间。 示例 1: 输入: intervals [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: intervals [[1,4],[4,5]]输出: [[1,5…

[解题报告]《算法零基础100讲》(第14讲) 最小公倍数

零、写在前面 这是打卡的第十四天&#xff0c;主要的题目是昨天的&#xff0c;为了练习相关知识点&#xff0c;我增加了一道一星题目来给大家一个练习的机会&#xff0c;主要知识点在 《算法零基础100讲》(第14讲) 最小公倍数https://blog.csdn.net/WhereIsHeroFrom/article/d…

[解题报告]《算法零基础100讲》(第13讲) 最大公约数

零、写在前面 这是打卡的第十三天&#xff0c;主要内容在 《算法零基础100讲》(第13讲) 最大公约数https://blog.csdn.net/WhereIsHeroFrom/article/details/121092685https://blog.csdn.net/WhereIsHeroFrom/article/details/121092685 一、主要知识点 1. 模运算的运算法则 其…

Leedcode 746. 使用最小花费爬楼梯

题目 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 示例 1&am…

数据结构零散知识点

怎么判断一个序列是不是堆&#xff1f; 把这个序列看成数组型的二叉树&#xff0c;如果根结点是i&#xff0c;左子树是2i&#xff0c;右子树是2i1。 堆分为最大堆与最小堆&#xff1a; 最大堆中所有父节点都比左子树、右子树大&#xff0c;比如已知序列{100,60,70,50,32,65}…

8-7选择排序-堆排序

一.回顾 对此二叉树进行顺序存储&#xff08;按层序遍历存&#xff09;&#xff0c;图中结点的序号表示数组中存放的位置 i为当前结点序号&#xff08;从1开始&#xff0c;同数组下标&#xff09;&#xff0c;n表示总的元素个数&#xff0c;当前n12 其中1-6是叶子结点&#…

数据结构_顺序表

初始化顺序表 SeqList() {int Length 0; } 建立顺序表 SeqList(int a[], int n) {if (n > MaxSize)throw"参数非法";for (int i 0; i < n; i )data[i] a[i];length n; } 判空 Employ() {if (length 0)return1;else return 0; } 长度 Length() {retu…

数据结构_DFS

在邻接矩阵存储结构下实现DFS&#xff1a; 深搜采用的是栈 void DFS(int v) {cout << vertex[v]; visited[v] 1;for (int j 0; j < vertexNum; j)if (edge[v][j] 1 && visited[j] 0) DFS(j); }

8-2插入排序-折半插入排序

二.折半插入排序 从小到大&#xff0c;哨兵&#xff0c;处理8号位的55 先将a[8]存到a[0] low指向1号位&#xff0c;high指向前一个&#xff0c;mid(lowhigh)/2取左&#xff08;向下取整&#xff09; mid指向的50小于55&#xff0c;因此55应该插入到mid到high之间 使low指向mi…

Shell编程之数组

目录 一、数组的基本概念 二、定义数组的方法 方法一&#xff1a; ​编辑 方法二&#xff1a; 方法三&#xff1a; ​编辑 方法四&#xff1a; 三、 数组的输出&#xff0c;删除和长度统计 1&#xff09;数组元素的输出 2&#xff09;数组全部元素输出 3&#xff0…

【存储方式】

存储方式 1. 顺序存储2. 链式存储3. 哈希存储4. 树形存储5. 关系式存储6. 分布式存储7. 对象存储结论 不同的存储方式在不同的场景下拥有各自的优势和适用性。本文将分别简单介绍七种不同的存储方式&#xff0c;包括顺序存储、链式存储、哈希存储、树形存储、关系式存储、分布式…

2-3线性表-顺序表和链表的比较

一.逻辑结构 都属于线性表&#xff0c;都是线性结构 二.存储结构 1.顺序表 &#xff08;1&#xff09;优点&#xff1a;支持随机存取&#xff0c;存储密度高 &#xff08;2&#xff09;缺点&#xff1a;大片连续空间分配不方便&#xff0c;改变容量不方便 2.链表 &#xff08;…

斐波那契数列c ++递归_找到第N个斐波那契数| C ++

斐波那契数列c 递归Problem: Compute the Nth Fibonacci number 问题&#xff1a;计算第N 个斐波那契数 You are given a number N. You have to find the Nth Fibonacci number. 0th Fibonacci number is 0 and first Fibonacci number is 1. 给您一个数字N。您必须找到第N 个…

最长重复子数组:基础dp

Problem: 718. 最长重复子数组 文章目录 思路解题方法复杂度Code 思路 首先我们要将这个题抽象成一个dp数组公式&#xff1a;f(i,j)代表包含nums1的第i个数组和包含nums2的第j个数字构成的最长重复子数组长度 if(nums1[i]nums2[j]){ f(i,j) f(i-1,j-1)1; }else{ f(i,j) 0; } …

6-8图-最小生成树-Prim算法和Kruskal算法

最小生成树——Prim算法和Kruskal算法 一.最小生成树 1.回顾&#xff1a;生成树 连通图的生成树是包含图中全部顶点的一个极小连通子图 解释&#xff1a;全部顶点必须连通边最少 生成树结果可能不唯一 注&#xff1a;顶点数为n&#xff0c;则它的生成树含有 n-1 条边&#xf…

第7章---查找

目录 7.1 查找的基本概念 7.2 顺序查找和折半查找 7.2.1 顺序查找 1.一般线性表的顺序查找 2.有序表的顺序查找 7.2 折半查找---二分法查找 7.2.3 分块查找 7.3 树型查找 7.3.1 二叉排序树---BST 1. BST的查找 2. BST的插入 3. BST的删除 4. BST的查找效率 7.3.2 …

【贪心】55. 跳跃游戏

题目&#xff1a; 给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步&#xff0c;从位置 0 到达 位置 …

【4.11日题解】——亲戚(c代码表述)

☘前言☘ 今日份水题开始。希望有想要提高的同学跟我们一起来刷题0.0 4.11日每日一题——亲戚 &#x1f9d1;&#x1f3fb;作者简介&#xff1a;一个从工业设计改行学嵌入式的年轻人 ✨联系方式&#xff1a;2201891280(QQ) ⏳全文大约阅读时间&#xff1a; 20min 全文目录☘前…

PAT A 1146 AC代码

拓扑排序的简单模拟 都不需要用队列 只需要按照顺序&#xff0c;判断入度是否为0即可&#xff08;过程中指向点的入度要跟着减少&#xff09; #include<iostream> #include<vector> using namespace std; struct node{int in;vector<int> cl; }; int N,M,K…

【贪心】122. 买卖股票的最佳时机 II

题目&#xff1a; 给定一个数组&#xff0c;它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;。 注意&#xff1a;你不能同时参与多笔交易&#xff08;你必须…

【算法笔记题解】4.2课后题(上篇)

目录 前言 问题 A: 谁是你的潜在朋友 思路 总结 问题 B: 分组统计 思路 总结 前言 相关的课后题&#xff0c;其实都是水题。 所有的合集相关源码我都更新在gitee上了需要自取xingleigao/study - Gitee.comhttps://gitee.com/xingleigao/study/tree/master/codeup 问题…

【算法笔记题解】PAT A.1095 Cars on Campus (30 分)

前言 今天不开心就撸了一道PAT的题。 所有的合集相关源码我都更新在gitee上了需要自取xingleigao/study - Gitee.com 题目描述 1095 Cars on Campus (30 分)https://pintia.cn/problem-sets/994805342720868352/problems/994805371602845696Zhejiang University has 8 campus…

[解题报告]《算法零基础100讲》(第7讲) 素数判定

文章目录 目录 文章目录 前言 主要知识点 课后习题详解 回文素数 思路1 结果分析1 思路2 完整代码 结果分析 丑数 剑指 Offer 49. 丑数https://leetcode-cn.com/problems/chou-shu-lcof/ 思路1 完整代码1 结果分析1 耍赖方法 思路 结果分析 今日总结 前言 相关的…

剑指 Offer day3, day4

剑指 Offer day3, day4 字符串和数组的操作。 剑指 Offer 05. 替换空格 剑指 Offer 05. 替换空格 - 力扣&#xff08;Leetcode&#xff09; 方法二&#xff1a;原地修改 在 C 语言中&#xff0c; string 被设计成「可变」的类型&#xff08;参考资料&#xff09;&#xff…

【算法笔记题解】PAT A.1080 Graduate Admission (30 分)

全文目录 前言 题目描述 输入描述 输出描述 输入示例 输出示例 解题思路 题目理解 相关思路 代码实现 结果分析与总结 前言 昨天刷的那个被牛客网坑了一把&#xff0c;今天PAT恢复了&#xff0c;喜大普奔啊。这是今天第二道题。 相关源码我都更新在gitee上了需要自取…

【算法笔记题解】PAT A1083.List Grades(25)

全文目录 前言 题目描述 输入描述 输出描述 输入示例 输出示例 解题思路 题目理解 代码实现 结果分析与总结 前言 昨天刷的那个被牛客网坑了一把&#xff0c;今天PAT恢复了&#xff0c;喜大普奔啊。今天这道题比较简单。 相关源码我都更新在gitee上了需要自取xingleiga…

[数据结构] 单链表如何判环以及求环的长度,入口

目录 如何判环? 如何求环的长度? 如何求环的入口呢? 示例 如何判环? 思路: 利用两个移动速度不同的指针,若在均不为空的情况下相遇,则存在环 如何求环的长度? 思路:若存在环,那么快慢指针从相遇点重新出发到再次相遇的过程中, 一定是慢指针走了一圈&#xff0c;快指针…

数据结构18:递归的应用(1):任意进制转换

前面讨论过这个算法&#xff0c;这里考虑用递归的方法实现。 首先我们用最熟悉的十进制分析这个问题 十进制有十个不同的符号&#xff1a;convString0123456789&#xff0c;比10小的数转换成十进制&#xff0c;直接查表就可以&#xff1a;convString[n]&#xff0c;那么比10大…

顺序表【数据结构】

文章目录:star2:1. 顺序表概念:star2:2. 框架3. 基本功能3.1 头文件:star:3.2 初始化:star:3.3 扩容:star:3.4 打印:star:3.5 尾插:star:3.6 头插:star:3.7 尾删:star:3.8 头删:star:3.9 指定插入:star:3.10 指定删除:star:3.11 查找:star2:3.12 注意事项4. 顺序表的缺点&#…

什么是B+树

B树是一种树数据结构。B树索引是B树在数据库中的一种实现&#xff0c;是最常见也是数据库中使用最为频繁的一种索引。 先来了解一下什么是索引&#xff1f; 一、索引 数据都是存储在硬盘上的&#xff0c;查询数据不可避免的需要进行IO操作。 索引是一种数据结构&#xff0c…

LeetCode205_205. 同构字符串

LeetCode205_205. 同构字符串 一、描述 给定两个字符串 s 和 t &#xff0c;判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t &#xff0c;那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符&#xff0c;同时不改变字符的顺序。不同字…

天梯赛练习L1-081( 今天我要赢)

1、L1-081 今天我要赢 分数 5 题目通道 2018 年我们曾经出过一题&#xff0c;是输出“2018 我们要赢”。今年是 2022 年&#xff0c;你要输出的句子变成了“我要赢&#xff01;就在今天&#xff01;”然后以比赛当天的日期落款。 输入格式 本题没有输入。 输出格式&#…

异或数列/位运算/数位/二进制

题解&#xff1a; 知识点很多&#xff0c;依次总结&#xff1a; 位运算&#xff1a; 1.左移/右移 针对二进制数位来说的 i<<1#左移一位&#xff0c;向更高位 i>>1#右移一位&#xff0c;向更低位 2.或操作| 与操作& 异或操作^ 异或操作满足结合律、交换律和…

算法的时间复杂度和空间复杂度(数据结构)

目录 1、算法效率 1>如何衡量一个算法的好坏 2>算法的复杂度 2、时间复杂度 1>时间复杂度的概念 2>大O的渐进表示法 2>时间复杂度计算例题 1、计算Func2的时间复杂度 2、计算Func3的时间复杂度 3、计算Func4的时间复杂度 4、计算strchr的时间复杂度 5、计算Bubb…

第一部分——简单句——第二章——简单句的核心——第二节 成分角度的扩展非谓语动词作定语、状语

什么是非谓语动词 一主搭配一谓&#xff08;正如中国的一夫一妻制&#xff09;但早在封建社会时期&#xff0c;地主家里比较有钱。 再往里面加上谓语&#xff0c;就需要降半级&#xff0c;也就是非谓语动词。 什么时候用非谓语动词 一主搭配一谓后&#xff0c;还需要使用动词…

【Java数据结构】链表(Linked List)-单向链表

一、什么是链表(Linked List) 链表(Linked List)是一种常见的数据结构&#xff0c;它由一系列节点组成&#xff0c;每个节点包含一个值和指向下一个节点的引用。链表可以用于实现栈、队列等数据结构。相比数组&#xff0c;链表的优点在于可以高效地进行插入和删除操作&#xf…

数据结构之第六章、栈

目录 一、栈 1.1栈的概念 1.1.1介绍 1.1.2栈在现实生活中的例子 1.2栈的使用 1.3栈的模拟实现 1.4栈的应用场景 1.4.1改变元素的序列 1.4.2递归转化为循环 1.5概念区分 一、栈 1.1栈的概念 1.1.1介绍 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端…

C++入门教程||C++ 文件和流||C++ 异常处理

C 文件和流 C 文件和流 到目前为止&#xff0c;我们已经使用了 iostream 标准库&#xff0c;它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。 本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C 中另一个标准库 fstream&#xff0c;它定义…

PAT A 1147 AC代码(堆,大顶堆小顶堆判断,后序遍历)

判断和后序遍历分别写成了两个单独函数。 按照堆的定义做即可。 #include<iostream> #include<vector> using namespace std; vector<int> heap,post; int M,N; bool Max,Min; void panduan(int index){if(index>N) return;if((2*index<N&&h…

Lecode 684. 冗余连接 并查集

原题链接&#xff1a;Lecode 684. 冗余连接 并查集 class Solution { public:map<int,int> father;int findfather(int x){if(father[x]x) return x;else return findfather(father[x]);}void Union(int x,int y){int fxfindfather(x);int fyfindfather(y);if(fx!fy) …

java 集合简述

一、常见的集合 加粗代表线程安全 list 数据结构类数组ArrayList vector stack CopyOnWriteArrayList链表linkedlist set 数据结构类数组HashSet(hash桶是单链表) CopyOnWriteArraySet LinkedHashSet(链表保证顺序)链表TreeSet ConcurrentSkipListSet map 数据结构类数组Has…

【LeetCode】1031. 两个非重叠子数组的最大和

给你一个整数数组 nums 和两个整数 firstLen 和 secondLen&#xff0c;请你找出并返回两个非重叠 子数组 中元素的最大和&#xff0c;长度分别为 firstLen 和 secondLen 。 长度为 firstLen 的子数组可以出现在长为 secondLen 的子数组之前或之后&#xff0c;但二者必须是不重…

PAT A 1145 AC代码(hash表及正向平方探查法)

注意一下正向平方探查法的部分 t(Keyj*j)%Msize 其中0<j<Msize #include<iostream> #include<cmath> using namespace std; bool is_prime(int x){if(x2) return true;int k(int)sqrt(x*1.0);for(int i2;i<k;i){if(x%i0) return false;}return true; }…

HashMap 这套八股,不得背个十来遍?

HashMap、HashTable、ConcurrentHashMap 这一套感觉今年面试都不怎么问了&#xff0c;场景题越来越多&#xff0c;求职的门槛越来越高&#xff0c;这种常见的面试题问出来大概率就是要送波分了。 讲讲 HashMap 的底层结构和原理 HashMap 就是以 Key-Value 的方式进行数据存储…

c++类 笔记

派生类 #include <iostream> using namespace std; class Box{private://类私有&#xff0c;只有成员可以调用 也就是说你不可以通过box1.a来调用 ,这些变量其实你默认不用写private 这个变量&#xff0c;只要放在最上面他默认就是 私有int a1;protected://protected&am…

带你玩转单向链表(学习必备)

本文概要 本篇文章主要介绍数据结构中单向链表各种操作&#xff0c;适合有C语言基础的同学&#xff0c;文中描述和代码示例很详细&#xff0c;干货满满&#xff0c;感兴趣的小伙伴快来一起学习吧&#xff01; &#x1f31f;&#x1f31f;&#x1f31f;个人简介&#x1f31f;&…

顺序表的折半查找法

#include "seqlist.cpp" //包含顺序表基本算法 //折半查找算法 int BinSearch(RecType R[],int n,KeyType k){ int low0,highn-1,mid,count0; while(low<high){ //当low>high时&#xff0c;表示查找失败 mid(lowhigh)/2; …

第三章算法设计题3

第三章算法设计题3 题目描述 代码实现 #pragma once #include <iostream> using namespace std;#define MAXSIZE 5typedef struct {int* base;int* top;int stacksize; }SqStack;//顺序栈的初始化 void InitStack(SqStack& S) { //构造一个空栈S.base ne…

吃饭的时候也能学的栈和队列

嗨害&#xff0c;搞完了比较难的链表&#xff0c;今天来搞一下轻松一点的栈和队列 目录 栈的概念和结构 栈的实现 队列的概念和结构 队列的实现 栈和队列练习题 栈的概念和结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。…

算法之合并多个有序链表

两个有序数组&#xff0c;合并为一个链表&#xff0c;并且合并后仍然有序 自定义链表结构如下 public class Node {Node head;Node next;Integer val;public Node (Integer node){val node;}public static void list(Node node){Node next node;while (next ! null){System…

第二周刷题计划

前言 本来打算慢慢悠悠养老的&#xff0c;这个样子让我不得不卷一卷啊&#xff0c;既然这样&#xff0c;那就冲。本周规划出六个专题&#xff0c;每个专题有大约20道题。由浅入深&#xff0c;一步一步加深理解和印象。 第一天 位运算 第一天 第二天 链表 第二天 第三天 栈…

[刷题计划]第二周第六天|二分查找

文章目录题目题解题目 1351. 统计有序矩阵中的负数 剑指 Offer II 069. 山峰数组的顶部 852. 山脉数组的峰顶索引 剑指 Offer 57. 和为s的两个数字 双指针 剑指 Offer II 006. 排序数组中两个数字之和 888. 公平的糖果棒交换 1608. 特殊数组的特征值 1608. 特殊数组的特…

[解题报告]【第28题】给定一个 n 个元素的数组,再给出 x ,将 x 插入数组第一个位置

全文目录☘前言☘&#x1f381;主要知识点第一个位置插入元素&#x1f4d3;课后习题1389. 按既定顺序创建目标数组&#x1f4d1;写在最后☘前言☘ 今天是c语言基础打卡的第28天&#xff0c;今天这些题我都写过&#xff0c;给个题解供大家参考把。 相关链接&#xff1a; 【第28题…

数据结构_顺序栈

栈的初始化 SeqStack() {top -1; } 入栈操作 Push(int x) {if (top StackSize - 1)throw"上溢";data[top] x; } 出栈操作 Pop() {int x;if (top -1)throw"下溢";x data[top--];return x; } 取栈顶元素 GetTop() {if (top -1)throw"下溢异…

[刷题计划]第二周第二天 | 链表

简单题 21. 合并两个有序链表&#xff08;无题解&#xff09; 23. 合并K个升序链表&#xff08;无题解&#xff09; 148. 排序链表&#xff08;无题解&#xff09; 234. 回文链表&#xff08;无题解&#xff09; 剑指 Offer 24. 反转链表&#xff08;无题解&#xff09; …

数据结构_Dijkstra算法

算法&#xff1a;Dijkstra算法 输入&#xff1a;有向网图G &#xff08;V&#xff0c;E&#xff09;&#xff0c;源点v 输出&#xff1a;从v到其他所有顶点的最短路径 1.初始化&#xff1a;S { v }; dist[j] edge[v][j](0 < j < n); 2.重复下述操作直到S等于V&…

数据结构及算法应用

第十四章、数据结构及算法应用 1、分治法 对于一个规模为n的问题&#xff0c;若该问题可以容易地解决&#xff08;比如说规模n较小&#xff09;则直接解决&#xff1b;否则将其分解为k个规模较小的子问题&#xff0c;这些子问题互相独立且与原问题形式相同&#xff0c;递归地…

python从入门到入土6--集合数据类型

集合类型简介 与数学中的集合定义相同 集合中元素无序&#xff0c;且每个元素是唯一的 要求集合中的每一个元素是不可更改的数据类型&#xff08;为了确保元素的唯一性&#xff09; 定义集合使用大括号 {} &#xff0c;元素之间用逗号分隔 建立一个集合可以使用大括号或者set…

Washall算法

Washall算法可由一个图的邻接矩阵求它的可达矩阵,形式上很简单,就是一个三层循环, 问题引出&#xff1a;在一个图结构中&#xff0c;常常需要找两个节点之间有没有一条通路&#xff08;通路长任意&#xff09;&#xff0c;也就是任意两点之间的可达情况&#xff0c;我们很自然…

8-11二路插入排序

一.基本概念 通过增加辅助空间来减少移动次数 下面对序列49,38,65,97,76,13,27,49进行从小到大排序。将其放入a数组中 创建一个数组b&#xff0c;长度与a相同 int n 8; int *b (int*)malloc(n * sizeof(int));为b数组设置head和tail&#xff0c;其中head指向当前序列的最小…

5-7树与二叉树-哈夫曼树

一.基本概念 1.权&#xff08;值&#xff09;&#xff1a;有某种限时含义的数值 2.结点的带权路径长度&#xff1a;从树的根到该结点的路径长度&#xff08;边的长度&#xff09;该结点权值 3.树的带权路径长度&#xff08;WPL&#xff09;&#xff1a;树中所有节点的带权路径…

力扣每日一题:83. 删除排序链表中的重复元素

目录题目&#xff1a;83. 删除排序链表中的重复元素示例1示例2提示解题思路解题代码解题感悟题目&#xff1a;83. 删除排序链表中的重复元素 难度&#xff1a; 简单 题目&#xff1a; 存在一个按升序排列的链表&#xff0c;给你这个链表的头节点 head &#xff0c;请你删除所…

数据结构_单链表

//链表初始化 LinkList() {first new Node;first->next nullptr; } //判空 Empty() {if (first->next nullptr)return1;else return 0; } //单链表的遍历 //1.工作指针p初始化 //2.重复执行下述操作&#xff0c;直到指针p为空 // 2.1 输出节点p的数据域 // 2.2 工作…

数据结构_Floyd

用于求每一对顶点之间的最短路径问题 算法&#xff1a;Floyd 输入&#xff1a;带权有向图G&#xff08;V,E&#xff09; 输出&#xff1a;每一对顶点的最短路径 1.初始化&#xff1a;假设从Vi到Vj的弧是最短路径&#xff0c;即dist-1&#xff08;Vi&#xff0c;Vj&…

结构体和数据结构--向函数传递结构体

将结构体传给函数的方式有以下三种&#xff1a; 目录 一、用结构体的单个成员作为函数参数&#xff0c;向函数传递结构体的单个成员 二、用结构体变量作函数实参&#xff0c;向函数传递结构体得完整结构 三、用结构体指针或结构体数组作函数参数&#xff0c;向函数传递结构体…

[解题报告] 《C语言入门100例》(第11例) 溢出

零、写在前面 这个系列不经常更新&#xff0c;今天这个题目又双叒叕觉得有点意思&#xff0c;我们一起看一看&#xff0c;主要知识点在 【第11题】给出四个数&#xff0c;输出四个数的和 | 溢出了怎么办&#xff1f;https://blog.csdn.net/WhereIsHeroFrom/article/details/11…

数据结构线性表的顺序实现

数据结构线性表的顺序实现 #include <stdio.h> #include <stdlib.h> #include <string.h>#define MAXSIZE 100 //定义线性表的最大长度typedef struct sq_list {int ListData[MAXSIZE 1]; //保存顺序表的数组int len; //顺序表已存结点 的数量 }sq_…

[解题报告](第22讲) 字符串算法(二) - 字符串比较

目录 零、写在前面 一、主要知识点 1.字符拷贝 2.字符串比较 3.字符串是否为子串(补充知识点) 二、课后习题 剑指 Offer 05. 替换空格 面试题 10.05. 稀疏数组搜索 290. 单词规律 1309. 解码字母到整数映射 1967. 作为子字符串出现在单词中的字符串数目 写在最后 零、写…

[解题报告] 《C语言入门100例》(第10例) 平均数

零、写在前面 这个系列不经常更新&#xff0c;今天这个题目又双叒叕觉得有点意思&#xff0c;我们一起看一看&#xff0c;主要知识点在 《C语言入门100例》(第10例) 平均数https://blog.csdn.net/WhereIsHeroFrom/article/details/118208466 一、主要知识点 1.强制类型转换 由…

[解题报告]《算法零基础100讲》(第16讲) 变量交换算法

零、写在前面 这是打卡的第十六天&#xff0c;今天题目比较简单&#xff0c;我们直接上结果&#xff0c;主要知识点在 《算法零基础100讲》(第16讲) 变量交换算法https://blog.csdn.net/WhereIsHeroFrom/article/details/121155355https://blog.csdn.net/WhereIsHeroFrom/arti…

数据结构与算法-三对角矩阵的压缩公式推导

数据结构与算法-三对角矩阵的压缩公式推导 三对角矩阵 压缩公式推导 (1)考虑a[i,j]处在第2到第n-1行之间: 我们可以看到,从第二行开始,元素的个数都为3个。对于a[i,j]将要存储的数组下标k&#xff0c;首先前(i-1)行元素的个数是(i-2)*3 2(i-2减去的是第一行和自己这行;第一行元…

数据结构和算法-线性表

数据结构和算法-线性表 定义(Linear List) 线性表是具有相同数据类型的n(n>0)个数据元素的有序序列. 顺序存储: 顺序表 链式存储: 单链表,双链表,循环链表,静态链表(数组实现) Notes: (1) 表中元素有限 (2) 逻辑上的顺序性 (3) 表中数据元素的类型都相同,每个元素都战友…

数据结构与算法-绪论

数据结构与算法-绪论 数据结构的基本概念 数据元素、数据项&#xff1a; 数据元素是数据的基本单位&#xff0c;通常作为一个整体进行考虑和处理。 一个数据元素可由若干数据项组成&#xff0c;数据项是构成数据元素的不可分割的最小单位。 数据对象&#xff1a;是具有相同性…

Python剑指offer-JZ8-跳台阶

Python剑指offer-JZ8-跳台阶 题目描述 一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法&#xff08;先后次序不同算不同的结果&#xff09;。 题目分析 和斐波那契数列很像,结论就是f(n)f(n-1)f(n-2)(n>2),f(1)1,f(2…

基数排序(桶排序)

基数排序(俗称桶排序): 基数排序是一种全新的排序思想,不同于之前学的几种排序. 之前学的 直接插入排序O(n^2)、希尔排序O(n^1.3 - O^2)、 冒泡排序O(n^2)、简单选择排序O(n^2)、快速排序O(nlogn)、堆排序O(nlogn)、 归并排序O(nlogn) 这些排序都是基于交换元素的排序思想,只不…

稀疏矩阵的存储与获取(十字链表法 C++版)

此稀疏矩阵我们打算采用十字链表法进行存储。 代码实现及结果测试: #include<stdio.h> #include<stdlib.h> #define null NULL #define N 4 //矩阵的行数 #define M 7 //矩阵的列数/*稀疏矩阵的十字链表法实现方式 *///十字链表的元素结点 typedef struc…

Java LinkedList公共对象peekFirst()方法(带示例)

LinkedList公共对象peekFirst()方法 (LinkedList public Object peekFirst() method) This method is available in package java.util.LinkedList.peekFirst(). 软件包java.util.LinkedList.peekFirst()中提供了此方法。 This method is used to retrieve the first or initia…

Leecode 429. N 叉树的层序遍历 BFS

原题链接&#xff1a;Leecode 429. N 叉树的层序遍历 /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val) {val _val;}Node(int _val, vector<Node*> _children) {val _val;children _children;} };…

Leecode 589. N 叉树的前序遍历 栈

原题链接&#xff1a;Leecode 589. N 叉树的前序遍历 栈 /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val) {val _val;}Node(int _val, vector<Node*> _children) {val _val;children _children;}…

二叉树的遍历,顺序存储,线索化

二叉树的遍历&#xff0c;顺序存储&#xff0c;线索化定义遍历前序中序后序小结查找前序查找顺序存储特点代码实现线索化二叉树线索化如下定义 二叉树&#xff08;Binary tree&#xff09;是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式&#xff…

数据结构期末总结

数据结构绪论 数据结构的概念 数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合数据结构研究的问题 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科抽象数据类型ADT 定义ADT格式不唯一 例题 数据结构…

算法竞赛动态规划篇——最长上升子序列模型(一)

最长上升子序列模型 题目描述 给定一个长度为 NN 的数列&#xff0c;求数值严格单调递增的子序列的长度最长是多少。 思路分析 分析&#xff1a;最长上升子序列模型经典问题&#xff0c;经典解法。 C实现 #include <bits/stdc.h>using namespace std;const int N 101…

【从0到1冲刺蓝桥杯国赛】每日一练——最后一块石头的重量Ⅱ

题目链接 力扣https://leetcode-cn.com/problems/last-stone-weight-ii/ 题目描述 题目分析 这道题目其实是01背包的一个变形&#xff0c;做过分割等和子集的话就很容易想到&#xff0c;解法几乎完全一样&#xff0c;就多了一个差值比较而已&#xff0c;大家可以看看下面这…

6-2图-邻接矩阵

邻接矩阵 一.基本概念 &#xff08;1&#xff09;1表示有边&#xff0c;0表示无边 &#xff08;2&#xff09;先行后列 图中红框表示A指向B之间的边&#xff08;无向图表示AB之间的边&#xff09; &#xff08;3.1&#xff09;无向图 B的度3 第2行非0元素个数 或&#xff1a;第…

冲刺春招-精选笔面试 66 题大通关 day3

day3题目&#xff1a;206. 反转链表、199. 二叉树的右视图、bytedance-016. 16. 最短移动距离 学习计划链接&#xff1a;冲刺春招-精选笔面试 66 题大通关 今日知识点&#xff1a;链表、二叉树&#xff0c;难度仍为简单、中等、困难&#xff08;字节&#xff1a;重新定义简单…

PAT 1006 Sign in and Sign out

At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in’s and out’s, you are supposed to find the ones who have unlocked and l…

数据机构——图

图一.图的基本概念1.图的定义2.图的基本术语二.图的存储结构和基本运算算法1.存储方法——邻接矩阵2.存储方法——邻接表3.存储方法——逆邻接表4.图基本算法设计5.存储方法——其它①十字链表②邻接多重表三.图的遍历1.遍历方法——深度优先遍历&#xff08;DFS&#xff09;2.…

华为OD机试 - 病菌感染(Python) | 机试题+算法思路+考点+代码解析 【2023】

病菌感染 题目 在一个地图中(地图有N*N个区域组成) 有部分区域被感染病菌 感染区域每天都会把周围上下左右的四个区域感染 请根据给定的地图计算多少天以后全部区域都会被感染 如果初始地图上所有区域都被感染 或者没有被感染区域返回-1 备注 1 <= N < 200 输入 一行…

C/C++动态实现可保存至系统文件的通讯录

联系人应有的信息 &#xff08;num编号用于防止姓名重复造成的影响&#xff09; typedef struct PeoInfo {char name[NAME_MAX];//姓名int num;//编号int age;//年龄char sex[SEX_MAX];//性别char address[ADDR_MAX];//地址char phone[TELE_MAX];//电话 }PeoInfo; 通讯录应有的…

《NFL橄榄球》:亚特兰大猎鹰·橄榄1号位

亚特兰大猎鹰&#xff08;英语&#xff1a;Atlanta Falcons&#xff09;是一支职业美式橄榄球球队位于佐治亚州的亚特兰大。他们现是全国橄榄球联合会的南区其中一支球队。球队在1966年加入全国橄榄球联盟。 2018年球队市值为24.75亿美元&#xff0c;在世界前50名球队中排在第2…

常用数论算法

本文目录1. 天平称重问题2. Nim游戏3. 阶梯尼姆博弈问题4. 高僧斗法5. 欧几里得算法6. 扩展欧几里得算法7. 一步之遥8. 青蛙约会9. 模的逆元10. 同余方程组11. 素数_埃氏筛法12. 快速幂运算1. 天平称重问题 问题描述&#xff1a; 用天平称重时&#xff0c;我们希望用尽可能少的…

分支限界法——装载问题

队列式分支限界法 思路 解装载问题的队列式分支限界法仅求出所要求的最优值。首先检测当前扩展结点的左儿子结点是否为可行结点。如果是&#xff0c;则将其加入到活结点队列Q中。然后&#xff0c;将其右儿子结点加入到活结点队列中(右儿子结点一定是可行结点)。2个儿子结点都…

【双端队列广搜/搜索+图论】AcWing 2019.拖拉机 USACO 2012 March Contest Silver Division

【题目描述】 干了一整天的活&#xff0c;农夫约翰完全忘记了他把拖拉机落在田地中央了。 他的奶牛非常调皮&#xff0c;决定对约翰来场恶作剧。 她们在田地的不同地方放了 NNN 捆干草&#xff0c;这样一来&#xff0c;约翰想要开走拖拉机就必须先移除一些干草捆。 拖拉机的位…

关于【网格结构】岛屿类问题的通用解法DFS(深度遍历)遍历框架+回溯+剪枝总结

最近在刷力扣时遇见的问题&#xff0c;自己总结加上看了力扣大佬的知识总结写下本篇文章&#xff0c;我们所熟悉的 DFS&#xff08;深度优先搜索&#xff09;问题通常是在树或者图结构上进行的。而我们今天要讨论的 DFS 问题&#xff0c;是在一种「网格」结构中进行的。岛屿问题…

浅谈数据库设计技巧(上)

说到数据库&#xff0c;我认为不能不先谈数据结构。1996年&#xff0c;在我初入大学学习计算机编程时&#xff0c;当时的老师就告诉我们说&#xff1a;计算机程序&#xff1d;数据结构&#xff0b;算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主&#xff0c;…

【从0到1冲刺蓝桥杯国赛】每日一练——零钱兑换

零钱兑换https://leetcode-cn.com/problems/coin-change/ 题目描述&#xff1a; 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币…

蓝桥杯每日一练——翻转二叉树

翻转二叉树https://leetcode-cn.com/problems/invert-binary-tree/ 题目描述&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 class Solution { public:TreeNode* invertTree(TreeNode* root) {if(rootnullptr){return nul…

蓝桥杯每日一练——二叉树的前序遍历

二叉树的前序遍历https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ 题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 class Solution { public:void preorder(TreeNode *root, vector<int> &res) {if (r…

蓝桥杯每日一练——对称二叉树

对称二叉树https://leetcode-cn.com/problems/symmetric-tree/ 题目描述&#xff1a; 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 思路分析&#xff1a; 判断是不是对称二叉树&#xff0c;可是设置两个指针同时指向根节点&#xff0c;一个向左一个向右&a…

蓝桥杯每日一练——二叉树的最大深度

二叉树的最大深度https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/ 题目描述&#xff1a; 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 思路分析&#xff1a; 二叉树的最大深度等于左右子树最大…

别再说排序难了

目录 插入排序 1.直接插入排序 希尔排序 交换排序 1.冒泡排序 2.快速排序 选择排序 1.简单选择排序 堆排序 插入排序 1.直接插入排序 基本思想&#xff1a;依次将待排序序列中的每一个记录插入到已排好序的序列中&#xff0c;直到全部记录都排好序&#xff0c;将无序…

Map和Set数据结构和ES6模块化语法

Map和Set数据结构 ●ES6 新增的两种数据结构 ●共同的特点: 不接受重复数据 Set数据结构 ●是一个 类似于 数组的数据结构 ●按照索引排列的数据结构 创建 Set 数据结构 语法: var s new Set([ 数据1, 数据2, 数据3, ... ]) Set 数据结构的属性和方法 ●size 属性 ○语法: 数…

211. 添加与搜索单词——前缀数2.0、回溯

class WordDictionary { private:vector<WordDictionary*> treeNode; //26个子树bool isEnd; public:WordDictionary() : treeNode(26), isEnd(false){}//添加单词void addWord(string word) {//正常前缀树的添加流程WordDictionary* node this;for(char ch : word){c…

第五章算法设计题3

第五章算法设计题3 题目描述 交换二叉树每个结点的左孩子和右孩子 代码实现 #pragma once #include <iostream>using namespace std;typedef char ElemType;typedef struct BiTnode {ElemType data;struct BiTnode* lchild;struct BiTnode* rchild; }BiTnode,*BiTree…

华为OD机试 - 最小传递延迟(Java) | 机试题+算法思路+考点+代码解析 【2023】

最小传递延迟 题目 通讯网络中有N个网络节点 用1 ~ N进行标识 网络通过一个有向无环图进行表示 其中图的边的值,表示节点之间的消息传递延迟 现给定相连节点之间的延时列表times[i]={u,v,w} 其中u表示源节点,v表示目的节点,w表示u和v之间的消息传递延时 请计算给定源节点到…

2016年第七届蓝桥杯省赛试题及详解(Java本科B组)

结果填空 (满分3分)结果填空 (满分5分)结果填空 (满分9分)代码填空 (满分11分)代码填空 (满分13分)结果填空 (满分15分)结果填空 (满分19分)程序设计&#xff08;满分21分&#xff09;程序设计&#xff08;满分23分&#xff09;程序设计&#xff08;满分31分&#xff09;第一题…

MySQL进阶—索引1

索引 索引概述 介绍 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着满足 特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff0c; 这样就可以…

一文读懂移除链表元素

目录 创建链表 删除链表元素 结果 leetcode链接 创建链表 属性 int valListNode next 构造器 无参构造有参构造 重写toSting方法 静态方法打印链表 public class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) {this.val val;}ListNode(int val, …

232. 用栈实现队列

1.题目&#xff1a; 2.思路&#xff1a; 此题可以用两个栈实现&#xff0c;一个栈进行入队操作&#xff0c;另一个栈进行出队操作 出队操作&#xff1a; 当出队的栈不为空是&#xff0c;直接进行出栈操作&#xff0c;如果为空&#xff0c;需要把入队的栈元素全部导入到出队的栈…

Educational Codeforces Round 132 (Rated for Div. 2)(A~D)

A. Three Doors有三扇门&#xff0c;有两扇门后面有其他门的钥匙&#xff0c;自己手中还有一把钥匙&#xff0c;问能否打开所有的门。思路&#xff1a;自己手里这一把钥匙打开的门里必须有钥匙&#xff0c;这把得到的钥匙的门里必须有钥匙。AC Code&#xff1a;#include <bi…

十大排序算法之插入排序、希尔排序、选择排序

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【数据结构初阶&#xff08;C实现&#xff09;】 本篇主要讲解八大排序算法中的三种排序&#xff0c;分别是&#xff1a;插入排序、希尔排…

php面试题总结(希望建立在理解的基础上)(持续更新ing)

1&#xff0c;myisam 和 innodb 什么是储存引擎&#xff1f; 数据库的储存引擎决定了表在计算机中的储存方式&#xff0c;不同的储存引擎有不同的储存机制&#xff0c;索引技巧等 储存引擎区别&#xff1f; 初步区分的话是这样的&#xff0c; …

394. 字符串解码

题目&#xff1a; 力扣 给定一个经过编码的字符串&#xff0c;返回它解码后的字符串。 编码规则为: k[encoded_string]&#xff0c;表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的&#xff1b;输入字符串中没有…

【栈】155. 最小栈

题目&#xff1a; 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆…

【动态规划】96. 不同的二叉搜索树

题目&#xff1a; 给定一个整数 n&#xff0c;求以 1 ... n 为节点组成的二叉搜索树有多少种&#xff1f; 示例: 题解&#xff1a; 动态规划五部曲&#xff1a; 1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i] &#xff1a; 1到i为节点组成的二叉搜索…

力扣:两数之和(哈希表)

1、两数之和 1、问题描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那两个整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。…

【数据结构实验】哈希表设计

【数据结构实验】哈希表设计 简介 针对本班同学中的人名设计一个哈希表&#xff0c;使得平均查找长度不超过R&#xff0c;完成相应的建表和查表程序。文末贴出了源代码。 需求分析 假设人名为中国人姓名的汉语拼音形式&#xff0c;待填入哈希表的人名共有三十个左右&#x…

6.5(Java)(二叉树)

1.我的代码&#xff1a; import java.util.LinkedList; import java.util.Queue; import java.util.Stack;public class MyBinaryTree {static class TreeNode {public char val;public TreeNode left;//左孩子的引用public TreeNode right;//右孩子的引用public TreeNode(cha…

线性链表 反转 -(递归与非递归算法)_20230420

线性链表 反转 -(递归与非递归算法)_20230420 前言 线性链表反转是非常有趣的算法&#xff0c;它可以采用多种方式实现&#xff0c;比较简洁的方法是递归反转&#xff1b;传统的方式是利用迭代反转&#xff0c;设定三个变量&#xff0c;采用类似滚动数组的方式&#xff0c;实…

【华为OD机试真题】 最多获得的短信条数(云短信平台优惠活动) (python)100%通过率 超详细代码注释 代码优化

【华为OD机试真题 2022&2023】真题目录 @点这里@ 【华为OD机试真题】信号发射和接收 &试读& @点这里@ 【华为OD机试真题】租车骑绿道 &试读& @点这里@ 云短信平台优惠活动 知识点 哈希表队列数组统计贪心 时间限制:1s 空间限制:256MB限定语言:不限 题目…

项目1在线交流平台-1.SpringBoot整合SSM环境准备-2.Spring环境准备

文章目录1. Spring全家桶2. Spring Framework3. SpringIOC&#xff1a;3.1 原理解析、配置处理机制&#xff1a;3.2.在测试类中演示IOC运行机制&#xff08;1&#xff09;启动类的注解配置&#xff08;2&#xff09;**手动获取Bean&#xff1a;**ApplicationContextAware管理自…

秒懂[大小端模式]

大小端模式 大端模式&#xff1a;数据在内存中 由高到低 排列 小端模式&#xff1a;数据在内存中 由低到高 排列 这里以 一个字节的 10 作演示 高字节低字节0000 1010 假设10在内存中地址为0xaabbccdd 在大端模式中&#xff0c;由高到低 地址高字节低字节0xaabbcc…

103. 二叉树的锯齿形层序遍历——广度搜索

class Solution { public:vector<vector<int>> zigzagLevelOrder(TreeNode* root) {vector<vector<int>> vec_vec_int;queue<TreeNode*> Tree;bool flag true;if(!root) //避免root为空的情况return vec_vec_int;Tree.push(root); //从roo…

ArrayList和LinkList的区别

ArrayList和LinkList的区别 ArrayList和LinkList是List接口的两种不同实现&#xff1b;并且都是线程不安全。 ArrayList是基于动态数组的数据结构&#xff0c;LinkList是基于双向链表的数据结构&#xff1b; 对于随机访问get和set时&#xff0c;ArrayList效率更高&#xff1b;…

linux进程间通信之消息队列

上周因课题的需要&#xff0c;写了一个进程间使用消息队列通信的程序。之所以&#xff0c;用因为消息队列是随内核存在的&#xff0c;即使进程退出它仍然存在 。消息队列的这种特点正适合我的需要。下面是来自CSDN博客上的一篇文章&#xff0c;转自http://blog.csdn.net/liran…

Java数组删除元素,新增元素

数组指定下标移除元素数组的有效元素都在前面不能直接删&#xff0c;要让后面的元素给前面的元素到第一个空位结束public class TestThree {public static void main(String[] args) {// 数组删除元素int[] one {65,39,28,71,69,0,0,0};int index1 1;// 要移除的元素下标int …

快速判断时间复杂度和空间复杂度

喜欢就关注我吧&#xff0c;订阅更多算法小知识 原文链接 1.1时间复杂度 O(1) 代码只被执行一次 O(n) for循环里的代码执行了n次 O(1)O(n) O(n) 当n足够大 &#xff0c;1可以忽略不计 O(n)*O(n) O(n^2) 如果存在嵌套就相乘 O(logN) 用于求2的多少次方为N 1.2空间复杂度 …

算法设计与分析——期末考试

递归与分治策略 Fibonacci数列 int fib(int n) {if (n<1) return 1;return fib(n-1)fib(n-2); }int fib[50]; //采用数组保存中间结果 void fibonacci(int n) {fib[0] 1; fib[1] 1;for (int i2; i<n; i)fib[i] fib[i-1]fib[i-2]; }集合的全排列问题 //产生从元素…

【从0到1冲刺蓝桥杯国赛】每日一练——打家劫舍

打家劫舍https://leetcode-cn.com/problems/house-robber/ 题目描述&#xff1a; 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在…

leetcode_反转链表

给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]输入&#xff1a;head [] 输出&#xff1a;[]class Solution { publi…

C++笔记 指针函数与函数指针详解 一级函数指针和二级函数指针实例

指针函数 主体函数 需求&#xff1a;返回类型为指针 函数指针 主体指针 需求&#xff1a;指针指向一个具体函数 1、()优先级 大于 * 星号&#xff0c;首先是一个函数&#xff0c;返回一个指针 &#xff0c;指针变量类型为 int* int *f(int x,int y) 首先是一个函…

C++笔记 STL 容器set和multiset 的区别

容器set和multiset和所有关联式容器类似&#xff0c;通常使用平衡二叉树完成。事实上&#xff0c;set和multiset通常以红黑树实作而成。 自动排序的优点是使得搜寻元素时具有良好的性能&#xff0c;具有对数时间复杂度。但是造成的一个缺点就是&#xff1a; 不能直接改变元素值…

【茶话数据结构】查找最短路径——Dijkstra算法详解(保姆式详细图解,步步紧逼,保你学会)

&#x1f4af; 博客内容&#xff1a;【茶话数据结构】查找最短路径——Dijkstra算法详解 &#x1f600; 作  者&#xff1a;陈大大陈 &#x1f989;所属专栏&#xff1a;数据结构笔记 &#x1f680; 个人简介&#xff1a;一个正在努力学技术的准前端&#xff0c;专注基础和实…

利用SQL Server 2005减轻生产服务器优化负荷

<iframe align"top" marginwidth"0" marginheight"0" src"http://www.zealware.com/46860.html" frameborder"0" width"468" scrolling"no" height"60"></iframe>优化较大的工作…

MySQL的SQL语句中一些规则

MySQL的语言结构&#xff08;即MySQL的SQL语句的使用规则&#xff09; 参考资料&#xff1a;http://dev.mysql.com/doc/refman/5.1/zh/language-structure.html <!--[if !supportLineBreakNewLine]--><!--[endif]--> <!--[if !supportLists]-->1. 文字值&a…

无线网络的安全信息

无线网络的安全信息 无线网络技术提供了便捷性和移动性&#xff0c;但也给您的网络带来安全风险。例如&#xff0c;除非实现身份验证和授权机制&#xff0c;任何具有兼容的无线网卡的用户都可以访问该网络。如果不进行加密&#xff0c;无线数据就以明文方式发送&#xff0c;这…

Python 计算数组元素之和-38

定义一个整型数组&#xff0c;并计算元素之和。 实现要求&#xff1a; 输入 : arr[] {1, 2, 3}输出 : 6计算: 1 2 3 6# 定义函数&#xff0c;arr 为数组&#xff0c;n 为数组长度&#xff0c;可作为备用参数&#xff0c;这里没有用到def _sum(arr,n):# 使用内置的 sum 函…

每日一题:给你一个长度为n的序列A,你需要算出有多少个三元组(Ai,Aj,Ak)满足i<j<k且Ai≤Aj≤Ak。

每日一题&#xff1a;给你一个长度为n的序列A&#xff0c;你需要算出有多少个三元组(Ai,Aj,Ak)满足i<j<k且Ai≤Aj≤Ak。 2020年11月10日&#xff0c;微众银行校招笔试&#xff0c;算法第三题 一、题目描述 题目&#xff1a; 给你一个长度为n的序列A&#xff0c;你需要算…

C++ Primer Plus第四章 习题

目录 复习题 1. 如何声明下述数据库&#xff1f; 2. 使用模板类array而不是数组来完成问题1 3. 声明一个包含5个元素的int数组&#xff0c;并将它初始化为前5个正奇数。 4. 编写一条语句&#xff0c;将问题3中数组第一个元素和最后一个元素的和赋给变量even。 5. 编写一条…

题154.2022寒假天梯赛训练2021秋周练习-7-5 部落 (20 分)

文章目录题154.2022寒假天梯赛训练&2021秋周练习-7-5 部落 (20 分)一、题目二、题解题154.2022寒假天梯赛训练&2021秋周练习-7-5 部落 (20 分) 一、题目 二、题解 无话可说&#xff0c;直接无脑并查集。。。 #include <bits/stdc.h>using namespace std;const in…

牛头鬼脸二叉树

今天看看初阶的二叉树吧&#xff0c;全文10000字&#xff01; 目录 树的概念及结构 树的概念 树的相对概念 树的表示 树的实际应用 二叉树的概念及结构 概念 现实中的二叉树 特殊的二叉树 二叉树的性质 二叉树的存储结构 二叉树的顺序结构及实现 二叉树的顺序结…

堆、堆排序、TOP-K问题

目录 什么是堆 堆的实现 堆排序 TOP-K问题 今天整点堆玩玩 什么是堆 如果有一个关键码的集合K&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并满足所有的父节点大于等于它的子节点的叫大堆&#xff0c;所有的父节点小于等于它的…

经典素数环问题

经典素数环问题 问题 素数环:从1到20这20个数摆成一个环&#xff0c;要求相邻的两个数的和是一个素数。 分析 非常明显&#xff0c;这是一道回溯的题目。从1开始&#xff0c;每个空位有20种可能&#xff0c;只要填进去的数合法&#xff1a;与前面的数不相同&#xff1b;与左…

四种线性结构之----栈

什么是线性结构&#xff1f; 答&#xff1a;是一种有序数据项的集合&#xff0c;其中每一数据项都有唯一的前驱和后继&#xff0c;线性结构总有两端&#xff0c;在不同情况下两端称呼也不同 两端的称呼并不是关键&#xff0c;不同线性结构的关键区别在于数据项增减的方式&…

task_struct判断进程内存是否被回收

task_struct 结构体是内核中用来表示一个进程的结构体&#xff0c;但是并没有直接的字段可以用来判断进程的内存是否已经被回收。但是可以通过判断进程的状态来确定进程是否已经结束。如果进程的状态为 EXIT_DEAD 或者 EXIT_ZOMBIE &#xff0c;就可以判定进程已经结束并且其内…

数据结构与算法学习---数据结构篇(并查集)(默然回首,夯实基础)

一、并查集 并查集是一种树型的数据结构 &#xff0c;并查集可以高效地进行如下操作&#xff1a; 查询元素p和元素q是否属于同一组 合并元素p和元素q所在的组 1.1 并查集结构 并查集也是一种树型结构&#xff0c;但这棵树跟我们之前讲的二叉树、红黑树、B树等都不一样&…

链表的基础操作(数据结构,C语言)

#include<stdio.h> #include<stdlib.h> struct Link {int data;struct Link *next; }; void Link_init(Link *&head);//链表初始化 void Link_build(Link *&head);//前插法输入链表 void Link_build2(Link *&head);//后插法输入链表 void Link_print…

3.6案例分析与实现之案例3.1:数制的转换

3.6案例分析与实现之案例3.1&#xff1a;数制的转换 题目描述 代码实现 #pragma once #include <iostream>using namespace std;//顺序栈的存储结构 #define MAXSIZE 100 typedef struct {int *base; //栈底指针int *top; //栈顶指针//栈可用的最大容量int stacksiz…

嵌入式面试题4

1.、引用与指针有什么区别&#xff1f; 引用必须被初始化&#xff0c;指针不必。引用初始化以后不能被改变&#xff0c;指针可以改变所指的对象。不存在指向空值的引用&#xff0c;但是存在指向空值的指针。 2.、全局变量和局部变量在内存中是否有区别&#xff1f;如果有&…

[刷题计划]第二周第五天 | hash

1436. 旅行终点站 1370. 上升下降字符串 1460. 通过翻转子数组使两个数组相等 2068. 检查两个字符串是否几乎相等 1935. 可以输入的最大单词数 1002. 查找共用字符 无题解 1207. 独一无二的出现次数 题解 1436. 旅行终点站 char * destCity(char *** paths, int paths…

【贪心】376. 摆动序列

题目&#xff1a; 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为摆动序列。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。少于两个元素的序列也是摆动序列。 例如&#xff0c; [1,7,4,9,2,5] 是一个摆动序列&#xff0c;因为…

【贪心】455. 分发饼干

题目&#xff1a; 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c…

【二叉树】538. 把二叉搜索树转换为累加树

题目&#xff1a; 给出二叉 搜索 树的根节点&#xff0c;该树的节点值各不相同&#xff0c;请你将其转换为累加树&#xff08;Greater Sum Tree&#xff09;&#xff0c;使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下&#xff0c;二叉搜索树满足…

【二叉树】701. 二叉搜索树中的插入操作

题目&#xff1a; 给定二叉搜索树&#xff08;BST&#xff09;的根节点和要插入树中的值&#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证&#xff0c;新值和原始二叉搜索树中的任意节点值都不同。 注意&#xff0c;可能存在多种有效的插入方式…

【二叉树】98. 验证二叉搜索树

题目&#xff1a; 给定一个二叉树&#xff0c;判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征&#xff1a; 节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。题解&#xff1a; …

【二叉树】617. 合并二叉树

题目&#xff1a; 给定两个二叉树&#xff0c;想象当你将它们中的一个覆盖到另一个上时&#xff0c;两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠&#xff0c;那么将他们的值相加作为节点合并后的新值&#xff0c;否则不…

【二叉树】559. N 叉树的最大深度

题目&#xff1a; 给定一个 n 叉树&#xff0c;找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如&#xff0c;给定一个 3叉树 : 我们应返回其最大深度&#xff0c;3。 题解&#xff1a; /* // Definition for a Node. class Node {publ…

N叉数的两种遍历

1.前序遍历 题目&#xff1a; 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示&#xff0c;每组子节点由空值 null 分隔&#xff08;请参见示例&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root …

【二叉树】104. 二叉树的最大深度

题目&#xff1a; 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例&#xff1a; 给定二叉树 [3,9,20,null,null,15,7]&#xff0c; 返回它的最大深度 3 。 题解&#x…

【栈与队列】239. 滑动窗口最大值

题目&#xff1a; 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [1,3,-1,-3…

【栈与队列】1047. 删除字符串中的所有相邻重复项

题目&#xff1a; 给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例&#xf…

【字符串】459. 重复的子字符串

题目&#xff1a; 给定一个非空的字符串&#xff0c;判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母&#xff0c;并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。 示例 2:…

【哈希表】202. 快乐数

题目&#xff1a; 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为&#xff1a;对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和&#xff0c;然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果 可…

数据结构_树表的查找技术

二叉排序树的查找 SearchBST(BiNode* bt, int k) {if (bt->data nullptr)return nullptr;if (bt->data k)return bt;else if (bt->data > k)return SearchBST(lchild, k);else return SearchBST(rchild, k); } 二叉排序树的插入 InsertBST(BiNode* bt, int x…

Leecode 145. 二叉树的后序遍历 递归/迭代

原题链接&#xff1a;Leecode 145. 二叉树的后序遍历 递归&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNo…

Leecode 144. 二叉树的前序遍历 递归/迭代

原题链接&#xff1a;Leecode 144. 二叉树的前序遍历 迭代 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) :…

离线区间的神奇——莫队算法

离线区间的神奇——莫队算法前言一、什么是莫队算法&#xff1f;二、例题分析&#xff1a;1.相关例题题目描述输入格式输出格式简单分析&#xff1a;三、莫队算法思想&#xff1a;那么要怎么做&#xff08;预处理&#xff09;&#xff1a;莫队算法优化的核心是**分块和排序**举…

C/C++基础讲解(一百二十八)之经典篇(时间函数举例四剑客)

C/C++基础讲解(一百二十八)之经典篇(时间函数举例四剑客) 程序之美 前言 很多时候,特别是刚步入大学的学子们,对于刚刚开展的计算机课程基本上是一团迷雾,想要弄明白其中的奥秘,真的要花费一些功夫,我和大家一样都是这么啃过来的,从不知到知知,懵懂到入门,每一步都走…

【二叉树part07】| 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236.二叉树的最近公共祖先

目录 &#x1f388;LeetCode530.二叉搜索树的最小绝对差 &#x1f388;LeetCode501.二叉搜索树中的众数 &#x1f388;LeetCode236.二叉树的最近公共祖先 &#x1f388;LeetCode530.二叉搜索树的最小绝对差 链接&#xff1a;530.二叉树的最小绝对差 给你一个二叉搜索树的根…

蓝桥杯——Java中的全排列算法

蓝桥杯——Java中的全排列 全排列的概念 排列 从n个数中选取m&#xff08;m<n&#xff09;个数按照一定的顺序进行排成一个列&#xff0c;叫作从n个元素中取m个元素的一个排列。不同的顺序是一个不同的排列。从n个元素中取m个元素的所有排列的个数&#xff0c;称为排列数…

蓝桥杯——加深递归与循环的理解

蓝桥杯学习——递归与循环 递归与循环的区别 递归&#xff0c;说白了就是自己调用自己&#xff0c;利用的是栈后进先出的原理。理论上&#xff0c;任何的循环都可以重写为递归形式&#xff0c;所有的递归也可以被表述成循环的形式 循环改递归的两大要点 发现逻辑循环中的**…

《深入理解Linux网络内幕》学习笔记三:第七章 组件初始化内核架构

宏标记 linux内核中绝大多数初始化函数和变量都使用了各种各样的宏标记&#xff0c;形如; static int __init pci_porc_init(void){ ... } static char version[] __devinitdatadrv_name".." module_init(...) 其中__init,module_init,__devinitdata就是宏标…

【数据结构】线性表(链表)

链表的表示和实现 链表的定义 链表由一系列结点&#xff08;链表中每一个元素称为结点&#xff09;组成&#xff0c;结点可以在运行时动态生成。每个结点包括两个部分&#xff1a;一个是存储数据元素的数据域&#xff0c;另一个是存储下一个结点地址的指针域。 结点在存储器…

剑指offer JZ26 树的子结构 递归

原题链接&#xff1a;剑指offer JZ26 树的子结构 递归递归递归递归 /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {} };*/ class Solution { public:bool fun(TreeNode* pRoot1, TreeNode* …

成语接龙游戏

成语接龙题目信息输入输出提示测试样例解答题目信息 小张非常喜欢与朋友们玩成语接龙的游戏&#xff0c;但是作为“文化沙漠”的小张&#xff0c;成语的储备量有些不足。现在他的大脑中存储了 m 个成语&#xff0c;成语中的四个汉字都用一个1000000以内的正整数来表示。现在小…

关于HashMap的高频面试题

前言 今天上班看到一篇博文很好&#xff0c;是自己没有了解过的&#xff0c;今天抽空也写个博文记录一下这部分知识点&#xff0c;加强自己的知识积累&#xff01; 好了言归正传&#xff1a; 1、那你跟我讲讲HashMap的内部数据结构&#xff1f; 目前我用的是JDK1.8版本的&…

c++数据结构之树

目录 前言 一、树的基本概念 1.1树的定义 1.2基本术语 二、二叉树 2.1二叉树的定义 2.2二叉树的性质 2.3二叉树的ADT 三、二叉树的存储表示 3.1二叉树的数组表示 3.2二叉树的链表表示 四、二叉树的遍历 4.1前序遍历 4.2中序遍历 4.3后序遍历 五、常用二叉树 5.1排…

LeetCode笔记:Weekly Contest 254(补发)

# LeetCode笔记&#xff1a;Weekly Contest 254 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 1. 题目一 给出题目一的试题链接如下&#xff1a; 1967. Number of Strings That…

第二章 数据结构-线性表

第二章.数据结构-线性表 注&#xff1a;这是本人观看B站王卓老师讲的数据结构与算法的学习笔记 2.1 线性表的定义和特点 ## 2.2 案例引入 案例一 一元多项式计算 案例二 稀疏多项式计算 题目 结果 顺序存储结构存在问题 1.存储空间分配不灵活 2.运算的空间复杂度高 可以…

LeetCode笔记:Biweekly Contest 56(补发)

LeetCode笔记&#xff1a;Biweekly Contest 56 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路 1. 题目一 给出题目一的试题链接如下&#xff1a; 1925. Count Square Sum Triples 1. 解题思…

LeetCode笔记:Biweekly Contest 42 比赛记录

LeetCode笔记&#xff1a;Biweekly Contest 42 0. 赛后总结1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 0. 赛后总结 唉&#xff0c;前两周刚和同学吹牛说现在leetcode的比赛基…

PowerDesigner使用教程|使用方法

PowerDesigner的安装和数据库创建(转载) 作者&#xff1a;无疆的行者 来源&#xff1a;博客园 发布时间&#xff1a;2011-01-14 12:48 阅读&#xff1a;72 次 原文链接 [收藏] 此文描述详细&#xff0c;特此转载&#xff0c;仅复制了大部分内容&#xff0c;可参考原文C…

经典算法:并查集(DSU)结构简介

经典算法&#xff1a;并查集&#xff08;DSU&#xff09;结构简介 1. 并查集是什么2. 并查集原理3. 并查集代码实现 1. 一般代码实现2. 优化的DSU结构 1. 调整树形结构2. 每次查找后更新节点信息 4. Leetcode例题分析 1. Leetcode 547. Friend Circles2. Leetcode 721. Accoun…

数据结构:链栈

typedef struct StackNode { SElemType data; struct StackNode *next; } StackNode, *LinkStack; LinkStack S; //链栈的初始化 void InitStack(LinkStack &S ) { SNULL; } //判断链栈是否为空 Status StackEmpty(LinkStack S) { if (SNULL…

数据结构:双栈

typedef struct { int top[2], bot[2]; //栈顶和栈底指针  SElemType *V; //栈数组 int m; //栈最大可容纳元素个数 }DblStack; void Dblpush(DblStack &s,SElemType x,int i) &#xff1b; //把x插入到栈i的栈 int Dblpop(DblStack &s,int i…

剑指 Offer 26.数的子结构 - 解题思路

解题思路&#xff1a; 若树 B 是树 A 的子结构&#xff0c;则子结构的根节点可能为树 AA 的任意一个节点。因此&#xff0c;判断树 B 是否是树 A 的子结构&#xff0c;需完成以下两步工作&#xff1a; 1.先序遍历树 A 中的每个节点 n_A&#xff1b; &#xff08;对应函数 isSu…

PAT 甲 1066 Root of AVL Tree

2022.1.29 练习 PAT 甲 1066 Root of AVL Tree &#xff08;原题链接&#xff09; 建立一颗平衡二叉树&#xff08;代码参考算法笔记对应内容&#xff09; 题解如下&#xff1a; #include <bits/stdc.h> using namespace std;int n; int d[22];struct node {int data;…

PAT 甲 1099 Build A Binary Search Tree

2022.1.28 练习 PAT甲 1099 Build A Binary Search Tree &#xff08;原题链接&#xff09; 题解如下&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_SIZE110; int n; int indexx0; int num[MAX_SIZE];struct node {int data;int lchild;int…

PAT 甲 1004 Counting Leaves

2022.1.28 练习 PAT甲 1004 Counting Leaves &#xff08;原题链接&#xff09; 题解如下&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_SIZE110; int num[MAX_SIZE]{0};vector<int> Node[MAX_SIZE];int max_high0;void DFS(int inde…

PAT 甲 1020 Tree Traversals

2022.1.23 练习 PAT甲 1020 Tree Traversals &#xff08;原题链接&#xff09; 已知一个非空二叉树的中序遍历和后序遍历&#xff0c;求输出层序遍历。 题解如下&#xff1a; #include <bits/stdc.h> using namespace std; const int MAX_SIZE30; int post[MAX_SIZE]…

leetcode141环形链表-每日刷题档

如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;索引从 0 开始&#xff09;。如果 pos 是 -1&#xff0c;则在该链…

leetcode104-每日刷题档

给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 思路&#xff1a;先将root结点加入到我们队列当中 每一层 每一层 进行遍历 用一个tmp 当作中间变量 将每一层的左右结点加入到…

肯定能看懂的JVM-创建对象

JVM-创建对象 内存 Java面向对象 创建对象 在明面是 new 关键字而已 第一步&#xff08;遇见指令检查&#xff09;&#xff1a;java虚拟机遇到字符码new 指令时 首先将去检查这个指令的参数是否能在常量池中定位到一个类的引用 第二步&#xff08;类加载检查&#xff09;&…

【LeetCode】—— 设计循环队列LeetCode622题

设计循环队列 题目描述 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里…

浅析HashSet和TreeSet

Set Set继承于Collection接口&#xff0c;是一个不允许出现重复元素&#xff0c;并且无序的集合&#xff0c;主要有HashSet和TreeSet两大实现类。 Set集合框架结构&#xff1a; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-666TXAgG-1636942816…

【动态规划】221. 最大正方形

题目&#xff1a; 在一个由 0 和 1 组成的二维矩阵内&#xff0c;找到只包含 1 的最大正方形&#xff0c;并返回其面积。 题解&#xff1a; dp 具体定义&#xff1a;dp[i 1][j 1] 表示 「以第 i 行、第 j 列为右下角的正方形的最大边长」为何不是 dp[i][j] 任何一个正方形&…

【动态规划】279. 完全平方数

题目&#xff1a; 给定正整数 n&#xff0c;找到若干个完全平方数&#xff08;比如 1, 4, 9, 16, ...&#xff09;使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n &#xff0c;返回和为 n 的完全平方数的 最少数量 。 完全平方数 是一个整数&a…

【二叉树】257. 二叉树的所有路径

题目&#xff1a; 给定一个二叉树&#xff0c;返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 题解&#xff1a; 1.递归 步骤&#xff1a; 1.递归函数函数参数以及返回值 要传入根节点&#xff0c;记录每一条路径的path&#xff0c…

数组--LeetCode 485. 最大连续 1 的个数

1、题目 给定一个二进制数组&#xff0c; 计算其中最大连续 1 的个数。 示例&#xff1a; 输入&#xff1a;[1,1,0,1,1,1] 输出&#xff1a;3 解释&#xff1a;开头的两位和最后的三位都是连续 1 &#xff0c;所以最大连续 1 的个数是 3.2、解答 直接遍历法&#xff1a;直接…

【LeetCode】Sama的个人记录_19

【Q739】(md) 每日温度 请根据每日 气温列表&#xff0c;重新生成一个列表。对应位置的输出为&#xff1a;要想观测到更高的气温&#xff0c;至少需要等待的天数。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 例如&#xff0c;给定一个列表 temperatur…

Mule, AquaLogic ESB 学习阶段性总结 (2009.9.21)

下面这段文字为转载&#xff1a;http://dragonetzhou.iteye.com/blog/171499 首先考虑一个最简单的例子&#xff1a;只有一个入口和一个出口。只涉及到一个服务提供者和服务消费者。服务提供者只提供webservice协议进行访问。消费者只 能通过http协议。那么两者如何通信呢。消费…

剑指Offer链表分割

题目描述 现有一链表的头指针 ListNode* pHead&#xff0c;给一定值x&#xff0c;编写一段代码将所有小于x的结点排在其余结点之前&#xff0c;且不能改变原来的数据顺序&#xff0c;返回重新排列后的链表的头指针。 分析 可以新new两个节点&#xff0c;一个连接比x值小的节点…

Leetcode206反转链表

还是之前说的链表的题画图就完事了&#xff0c;重点考虑头、尾、和中间即可。 第一种方法 我们可以采用三指针来解决这个问题。 我们定义三个引用&#xff0c;cur表示当前节点&#xff08;从head开始curhead&#xff09;&#xff0c;prev表示当前节点的前驱&#xff08;最开始…

矩阵置0

题目描述 给定一个m*n的矩阵&#xff0c;如果有一个元素是0&#xff0c;就把该元素所在的行和列上的元素全置为0&#xff0c;要求使用原地算法。 拓展&#xff1a; 你的算法有使用额外的空间吗&#xff1f; 一种比较直接的算法是利用O(m,n)的空间&#xff0c;但是这不是一个好的…

605-种花问题

题目描述 假设有一个很长的花坛&#xff0c;一部分地块种植了花&#xff0c;另一部分却没有。可是&#xff0c;花不能种植在相邻的地块上&#xff0c;。它们会争夺水源&#xff0c;两者都会死去。 给你一个整数数组 flowerbed 表示花坛&#xff0c;由若干 0 和 1 组成&#xff…

逻辑闭环题

逻辑闭环题目信息输入输出测试样例解答题目信息 小张是一位推理迷&#xff0c;他非常喜欢看侦探小说与侦探电影。同时他也会玩一些推理游戏&#xff0c;在侦探游戏中&#xff0c;小张需要发掘事件之间的联系。通过一条线索&#xff0c;他能够通过事件A推理出事件B。如果通过某…

地下城与勇士

地下城与勇士题目信息输入输出来源测试样例解答题目信息 龙神觉得无聊于是来到了地下城&#xff0c;这里是一个巨大的迷宫&#xff0c;有一些可以通行的路、一些不可以通行的墙&#xff0c;还有一些怪物。虽然龙神可以轻易地干掉这些怪物&#xff0c;但他觉得这样就太没意思了…

PAT甲级 1146 Topological Order 相关求关键路径

/* 关键路径找到earliest发生时间和最迟发生时间相等的节点路径 使用递推关系&#xff0c;第183页&#xff0c;先求出拓扑排序和逆拓扑排序 《数据结构&#xff08;C语言版&#xff09;清华大学出版社》 */ /* inputs&#xff1a; 9个顶点也就是9个事件&#xff0c;11个边就是…

c++之搜索算法

1.基本概念 搜索&#xff08;Search&#xff09;是各种数据结构中的一种常见运算。搜索是在给定的数据集合中&#xff0c;寻找符合特定条件的数据&#xff0c;用来搜索的这个特定条件称为键值。例如&#xff0c;在电话簿中&#xff0c;按照某人姓名查找他的电话&#xff0c;那…

数据结构----C++

数据结构&#xff08;一&#xff09;——线性表 1. 顺序表2. 单链表 线性表是n个数据特性相同的元素的组成有限序列&#xff0c;是一种线性结构(线性表&#xff0c;栈&#xff0c;队列&#xff0c;串和数组等都是线性结构&#xff09;。 一、顺序表 定义&#xff1a;把线性表…

第五章 树和二叉树

第五章 树和二叉树 5.1 树和二叉树的定义 5.1.1 树的定义 树(Tree)是n&#xff08;n>0&#xff09;个结点的有限集。 ​ 若n0&#xff0c;称为空树&#xff1b; ​ 若n > 0 ,则它满足如下两个条件&#xff1a; ​ &#xff08;1&#xff09;有且仅有一个特定的称为…

【算法】自己制作的《算法笔记》章节知识大纲思维导图

自己制作的《算法笔记》章节知识大纲思维导图 下载链接&#xff1a;《算法笔记》的知识大纲

链表虚拟头结点的设置 LeetCode_24

LeetCode_24 两两交换链表中的节点 因为头结点会发生变化&#xff0c;返回时找到头结点是关键。这就可以引入虚拟头结点&#xff1a; 设置 Node dummyNode 指向当前头结点&#xff0c;再令一个preNode dummyNode。 public ListNode swapPairs(ListNode head) {ListNode dumm…

LeetCode_633平方数之和(双指针)

题目来源&#xff1a;LeetCode_633 今天这题很快就写出来了&#xff0c;因为今天在进入LeetCode时候不知道哪里瞟到了一眼双指针&#xff0c;看完题目以后就直接用双指针的想法&#xff0c;很快就做出来了。 左指针从0开始&#xff0c;右指针从Math.Sqrt©开始&#xff08…

抽象的涵义

数据结构 抽象:是指抽取出事物具有的普遍性的本质。它要求抽出问题的特征而忽略非本质的细节&#xff0c;是对具体事物的一个概括。抽象是一种思索问题的方式&#xff0c;它隐藏了繁杂的细节。

基础排序算法总结 + 代码实现总结

目录 排序题解题注意&#xff1a; 排序算法总结 不稳定排序 快速排序 堆排序 选择排序 希尔排序 稳定排序 归并排序 直接插入排序 冒泡排序 桶排序 基数排序 排序题解题注意&#xff1a; 问清楚&#xff1a; &#xff08;1&#xff09;排序使用场景&#xff1a;…

什么是混合元编程

有两个数组: int a[3] = {1,3,5}; int b[3] = {2,4,6

模板与泛型编程之退化技术

所谓退化技术,就是把类型中的一些修饰符丢弃了。例如const int 中的const被丢弃后,就变成了int类型,那么对于const int类型,int 类型就是一种退化的表现。下面写一些代码做个实验 template<typename T> void myfunc(T tmprv) {cout << "----------------…

std::void_t

std::void_t是C++17中引入的,它其实是一个别名模板,源码非常简单,大概如下: template<tpename...Args> using void_t = void;从源码来看,无论传入什么类型,也无论传入多少个类型,都会变成void类型。但是它有一个神奇的功能,它能够检测到应用SFINAE特性时非法的类…

C语言课设:影院售票管理系统

文章目录前言一、概要设计1、基本信息2、功能模块图3、功能描述4、调用关系图二、完整代码总结前言 最近刚好在写自己的课设&#xff0c;匆匆忙忙写出来的课设系统&#xff0c;仍有不足&#xff0c;拿出来和大家分享一下&#xff0c;希望能对大家有帮助。 一、概要设计 1、基…

C语言:L2-012 关于堆的判断 (25 分) — 小顶堆

文章目录一、题目二、方法11、思路&#xff08;1&#xff09;知识点① 完全二叉树② 小顶堆和大顶堆③ 堆的简单性质④ 创建堆&#xff08;2&#xff09;题目的判断① 判断命题输入② 判断命题真假&#xff08;3&#xff09;易错点提示2、代码一、题目 将一系列给定数字顺序插…

C语言:L2-004 这是二叉搜索树吗? (25 分)

文章目录一、题目二、方法11、思路2、代码一、题目 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树&#xff1a;对于任一结点&#xff0c; 其左子树中所有结点的键值小于该结点的键值&#xff1b;其右子树中所有结点的键值大于等于该结点的键值&#xff1b;其左右子树都…

C语言:L1-002 打印沙漏 (20 分)

文章目录一、题目二、方法11、思路2、代码一、题目 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”&#xff0c;要求按下列格式打印 所谓“沙漏形状”&#xff0c;是指每行输出奇数个符号&#xff1b;各行符号中心对齐&#xff1b;相邻两行符号数差2&am…

树状数组-Java代码纯享版

/**原始数组下标从0开始&#xff0c;bitTree数组下标从1开始&#xff0c;目的是为了符合lowbit操作&#xff0c;lowbit可以理解为构造新数组的一种方法&#xff08;比较直观简单的理解&#xff09; **/ public class BITDemo {int[] nums;int[] bitree;int n;public BITDemo(in…

字节二面,让写一个LFU缓存策略算法,懵了

点击上方 果汁简历 &#xff0c;选择“置顶公众号” 优质文章&#xff0c;第一时间送达LRU全称 "Least Recently Used"&#xff0c;最近最少使用策略&#xff0c;判断最近被使用的时间&#xff0c;距离目前最远的数据优先被淘汰&#xff0c;作为一种根据访问时间来更…

判断是否是DAG-利用拓扑排序

//输入&#xff1a;n:0-n-1点&#xff0c;m&#xff1a;m条有向边 //输出&#xff1a;是否是DAG //author:hairu,wu #include<iostream> #include<vector> #include<queue> using namespace std; const int max_n100;vector<int> edge[max_n]; //邻接…

计蒜客-1565-出栈合法性

本题可以利用栈作为中间工具&#xff0c;就是判断从1-n的序列经过栈处理之后是否能够变成c序列&#xff0c;所以将1-n一次入栈&#xff0c;如果栈顶数字等于c序列的数字&#xff0c;就出栈&#xff0c;这样遍历之后&#xff0c;如果两个序列都能遍历完成&#xff0c;那么就可以…

C++的next_permutation函数

C 的next_permutation函数&#xff0c;将会根据当前的序列&#xff0c;按照字母序的顺序&#xff0c;生成下一个比当前序列大的序列。函数使用&#xff1a;next_permutation(序列起始地址&#xff0c;序列结束地址)&#xff0c;如果下一个序列比当前的大&#xff0c;就返回true…

计蒜客-1406-组合数(dfs+set用法)

首先&#xff0c;本题用dfs可以枚举所有结果情况&#xff0c;然后利用set的唯一性即可&#xff0c;注意定义set的时候&#xff0c;要使用从大到小的存储方式&#xff0c;否则默认是从小到大的排列方式&#xff0c;代码如下&#xff1a; //author:hairu,wu //from:ahut #includ…

计蒜客-2016-积木大赛(贪心)

春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为 nn 的大厦&#xff0c;大厦可以看成由 nn 块宽度为 11 的积木组成&#xff0c;第 ii 块积木的最终高度需要是 h_ih i ​ 。 在搭建开始之前&#xff0c;没有任何积木&#xff08;可以看成块高度为 0…

数据结构-红黑树(Red-black Tree)

1.为什么需要红黑树 虽然二叉查找树查询效率为log n&#xff0c;但是在频繁更新&#xff0c;极端情况下&#xff0c;二叉查找树会退化成链表&#xff0c;时间复杂度会变成O(n),红黑树的出现就是为了防止这种情况的产生&#xff0c;所有红黑树是一个特殊的二叉查找树-平衡二叉查…

链式前向星简单讲解

链式前向星在效率上介于关系矩阵和邻接表&#xff0c;如果你觉得关系矩阵效率太低&#xff0c;又不想费事去造一个邻接表&#xff0c;那么你就可以选择链式前向星。 以起点 终点 权值的例子为例增加边 例&#xff1a;1 5 6 就是链接1和5权值为6。 下面我们以一组数据为例加边…

【二叉树】404. 左叶子之和

题目&#xff1a; 计算给定二叉树的所有左叶子之和。 示例&#xff1a; 题解&#xff1a; 注意是判断左叶子&#xff0c;不是二叉树左侧节点&#xff01; 步骤&#xff1a; 1.确定递归函数的参数和返回值 判断一个树的左叶子节点之和&#xff0c;那么一定要传入树的根节点…

【二叉树】100. 相同的树

题目&#xff1a; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&#xff…

【二叉树】110. 平衡二叉树

题目&#xff1a; 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a;一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: …

剑指 offfer JZ36 二叉搜索树与双向链表

原题链接&#xff1a;剑指 offfer JZ36 二叉搜索树与双向链表 中序遍历&#xff1a; 时间复杂度&#xff1a;O(N)&#xff0c;等于中序遍历的时间复杂度。 空间复杂度&#xff1a;O(N)&#xff0c;开辟了一个数组来存储结点。 /* struct TreeNode {int val;struct TreeNode …

剑指offer JZ34 二叉树中和为某一值的路径(二)

原题链接&#xff1a;剑指offer JZ34 二叉树中和为某一值的路径(二) 开始自作主张在dfs里写了个剪枝&#xff1a;if(sum>expectNumber) return ;&#xff0c;&#xff0c;&#xff0c;&#xff0c;题目里说了节点值有可能为负数&#xff0c;把剪枝去掉就对了 /* struct …

剑指offer JZ33 二叉搜索树的后序遍历序列

原题链接&#xff1a;剑指offer JZ33 二叉搜索树的后序遍历序列 思想1&#xff1a;分治 1.二叉树的后序遍历顺序是&#xff1a;左子树 -> 右子树 -> 根节点&#xff0c;因此序列的最后一个数代表了根节点 2. 我们可以将一个序列划分为3段, 左子树右子树根, 例如[4, 8, 6…

使用dfs实现出栈的所有可能

例如&#xff0c;输入数列为{1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5}&#xff0c;输出出栈的所有可能&#xff1a; 代码&#xff1a; #include <bits/stdc.h> using namespace std; vector<int > tmp; vector<int> in{1,2,3,4,5}; stack&…

《Java后端知识体系》系列之Java集合

先上集合知识图谱&#xff1a;有不足的或者错误的地方欢迎下方评论指正&#xff01;集合 Collection List ArrayList: 底层实现&#xff1a;底层是可变数组的数据结构&#xff0c;默认的初始化长度为10&#xff0c;如果没有设置容量默认是空数组&#xff0c;然后在进行add的时候…

LeetCode笔记:Biweekly Contest 53 比赛记录

LeetCode笔记&#xff1a;Biweekly Contest 53 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 1. 题目一 给出题目一的试题链接如下&#xff1a; 1876. Substrings of Size Thre…

经典算法:不幸的猪

经典算法&#xff1a;不幸的猪 0. 引言1. 题目描述2. 算法解析3. 代码实现4. 后记 0. 引言 接着之前的鸡蛋掉落问题&#xff0c;我们再来一道经典的算法题好了&#xff0c;也算是温故而知新。 而且讲道理这些题目真心还是蛮有意思的&#xff0c;不是那种纯粹的就是练习熟练度…

数据结构PTA 案例5-1.3 整型关键字的散列映射

案例5-1.3 整型关键字的散列映射题目解法题目 给定一系列整型关键字和素数P&#xff0c;用除留余数法定义的散列函数将关键字映射到长度为P的散列表中。用线性探测法解决冲突。 输入格式: 输入第一行首先给出两个正整数N&#xff08;≤1000&#xff09;和P&#xff08;≥N的最…

数据结构PTA 基础实验8-1.1 单身狗

基础实验8-1.1 单身狗题目解法题目 “单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人&#xff0c;以便给予特殊关爱。 输入格式&#xff1a; 输入第一行给出一个正整数 N&#xff08;≤50000&#xff09;&#xff0c;是已知夫妻/伴侣的对…

数据结构PTA 基础实验7-2.2 插入排序还是堆排序

基础实验7-2.2 插入排序还是堆排序题目解法一&#xff1a;不找规律&#xff0c;直接按照插入排序和堆排序的流程走一遍解法二&#xff1a;找到插入排序和堆排序的本质区别题目 根据维基百科的定义&#xff1a; 插入排序是迭代算法&#xff0c;逐一获得输入数据&#xff0c;逐…

数据结构PTA 案例7-1.5 与零交换

案例7-1.5 与零交换题目解法题目 将 { 0, 1, 2, …, N-1 } 的任意一个排列进行排序并不困难&#xff0c;这里加一点难度&#xff0c;要求你只能通过一系列的 Swap(0, *) —— 即将一个数字与 0 交换 —— 的操作&#xff0c;将初始序列增序排列。例如对于初始序列 { 4, 0, 2, …

数据结构PTA 案例7-1.4 统计工龄

案例7-1.4 统计工龄题目解法&#xff1a;基于数组的桶排序题目 给定公司N名员工的工龄&#xff0c;要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数N&#xff08;≤10​5&#xff09;&#xff0c;即员工总人数&#xff1b;随后给出N个整数&#xff0…

三通水桶均分问题

假设A为容积为8升的水桶&#xff0c;B为容积为3升的空桶&#xff0c;C为容积为5升的空桶。 因为要分为两个4升&#xff0c;B<4<C<A,所以最后肯定是在A桶和C桶的。 经过演算很容易就能得到&#xff1a; 1&#xff0e; A->C // A3,C5,B0; 2&#xff0e; C->B //C2…

面试4轮字节Java研发岗,最终拿下offer,面试题复盘(含答案)

这次字节跳动的面试&#xff0c;给我的感触很深&#xff0c;意识到基础的重要性。一共经历了四轮面试&#xff1a;技术3面&#xff0b;HR面。特整理出所涉及的全部知识点&#xff0c;并复盘了完整面试题及答案&#xff08;文末领取&#xff09;&#xff0c;分享给大家&#xff…

如何使用python进行冒泡排序

该函数名称为 bubble_sort&#xff0c;它使用一个列表作为参数&#xff0c;并返回排序后的列表。其实现过程如下&#xff1a; 获取列表的长度 n外层循环控制比较的轮数&#xff0c;共进行 n-1 轮比较内层循环控制每轮比较的次数&#xff0c;每一轮比较次数会少一个如果前一个元…

deque(双端队列)基本操作

#include <deque> 定义及初始化 deque<int> a(10); // 定义一个int类型的双端队列a&#xff0c;并设置初始大小为10 deque<int> a(10, 1); // 定义一个int类型的双端队列a&#xff0c;并设置初始大小为10且初始值都为1 1 容量函数 容器大小&#xff1a;deq…

list基本操作

STL中的链表是一个双向循环链表 #include <list> 定义及初始化 list<int> a(10); // 定义一个int类型的列表a&#xff0c;并设置初始大小为10 list<int> a(10, 1); // 定义一个int类型的列表a&#xff0c;并设置初始大小为10且初始值都为1 1 容量函数 容器…

LeetCode350.两个数组的交集 II

350.两个数组的交集 II 文章目录 350.两个数组的交集 II题目解法方法一&#xff1a;通过multiset双指针法方法二&#xff1a;通过map 题目 给你两个整数数数组 nums1 和 nums2 &#xff0c;请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数&#xff0c;应与元素…

数据结构(C语言) 实验---二叉树及其应用

[问题描述] &#xff08;1&#xff09;创建一颗二叉树&#xff0c;用递归方法实现对其进行先序、中序和后序遍历的操作&#xff1b; &#xff08;2&#xff09;递归实现二叉树左右子树的交换。 #include <stdio.h> #include <stdlib.h> #include <stdbool.h>…

数据结构,AOE网中工程求最短时间为什么选最长路径作关键路径,而不是最短路径?

最短路径只是某一点到另一点走的最快最短的路径&#xff0c;而关键路径以点为事件&#xff0c;需要将所有工程完成时的路径&#xff0c;所以选最长路径为关键路径才能确保所有工程都完成。 设计结果与预测的相符合&#xff0c;关键路径在具体的工程中有着重要的作用&#xff0…

数据结构PTA 进阶实验6-3.4 拯救007(升级版)

进阶实验6-3.4 拯救007&#xff08;升级版&#xff09;题目解法题目 在老电影“007之生死关头”&#xff08;Live and Let Die&#xff09;中有一个情节&#xff0c;007被毒贩抓到一个鳄鱼池中心的小岛上&#xff0c;他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄…

数据结构PTA 基础实验6-2.2 汉密尔顿回路

基础实验6-2.2 汉密尔顿回路题目解法题目 著名的“汉密尔顿&#xff08;Hamilton&#xff09;回路问题”是要找一个能遍历图中所有顶点的简单回路&#xff08;即每个顶点只访问 1 次&#xff09;。本题就要求你判断任一给定的回路是否汉密尔顿回路。 输入格式&#xff1a; 首…

KPM算法求next数组与nextval数组(手动)

模式串 S “abaabcac” next[]求法&#xff1a; 所有数组下标从1开始&#xff0c;首先将设置next[1] 0&#xff1b;next[2] 1;从下标3开始&#xff0c;判断 S[i-1]S[next[i-1]] 如果成立&#xff0c;则 next[i] next[i-1]1; 如果不成立&#xff0c;则判断 S[i-1]S[next[…

数据结构PTA 案例6-1.7 公路村村通

案例6-1.7 公路村村通题目解法题目 现有村落间道路的统计数据表中&#xff0c;列出了有可能建设成标准公路的若干条道路的成本&#xff0c;求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数N&#xff08;≤1000&#xff09;和候选道路数目M…

Java顺序表 实现扑克牌游戏简单 (梭哈 / 斗牛)

简单的扑克牌游戏 梭哈&#xff1a;   梭哈用的是扑克牌共52张牌&#xff0c;因为不容易出好牌&#xff0c;也有去掉 234567 的简易玩法&#xff0c;规则玩法花样很多。   在这里我们采用&#xff1a;52 张牌&#xff0c;3 个人&#xff0c;一人 5 张牌&#xff0c;按规则对…

LeetCode刷题 #206 反转链表 Java

题目&#xff1a; 反转一个单链表。 示例&#xff1a; 输入&#xff1a;1 ->2 ->3 ->4 ->5 -> NULL 输出&#xff1a;5 ->4 ->3 ->2 ->1 -> NULL 思路&#xff1a; 首先&#xff0c;还是要先考虑特殊情况&#xff0c;当链表为空时&#xff0c;…

树与二叉树(一)——数据结构|复习局|树

数据结构复习局——树树的定义与基本概念树的性质写在前面&#xff1a; 本文仅为记录个人学习复习过程&#xff0c;如有错误欢迎指正&#xff0c;相互学习&#xff01; 话不多说&#xff0c;上图 树的定义与基本概念 树的性质 记录学习、爬坑经验 究极小白&#xff0c;欢迎大佬…

数据结构PTA 案例6-1.5 旅游规划

案例6-1.5 旅游规划题目解法题目 有了一张自驾旅游路线图&#xff0c;你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序&#xff0c;帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的&#xff0c;那么需要输…

数据结构PTA 基础实验5-2.2 电话聊天狂人

基础实验5-2.2 电话聊天狂人题目解法题目 给定大量手机用户通话记录&#xff0c;找出其中通话次数最多的聊天狂人。 输入格式: 输入首先给出正整数N&#xff08;≤10​5&#xff09;&#xff0c;为通话记录条数。随后N行&#xff0c;每行给出一条通话记录。简单起见&#xff…

数据结构PTA 基础实验5-2.1 整型关键字的平方探测法散列

基础实验5-2.1 整型关键字的平方探测法散列题目解法题目 本题的任务很简单&#xff1a;将给定的无重复正整数序列插入一个散列表&#xff0c;输出每个输入的数字在表中的位置。所用的散列函数是 H(key)key%TSize&#xff0c;其中 TSize 是散列表的表长。要求用平方探测法&…

看完必会的 python DEAP遗传算法库讲解+实战(初级)

文章目录一个简单的遗传算法代码详细讲解喜欢的话请关注我们的微信公众号~《 你好世界炼丹师》。公众号主要讲统计学&#xff0c;数据科学&#xff0c;机器学习&#xff0c;深度学习&#xff0c;以及一些参加Kaggle竞赛的经验。公众号内容建议作为课后的一些相关知识的补充&…

java8 hashMap 底层原理

hashMap 底层的数据结构就是哈希表 jdk1.7 底层就是&#xff1a; 数组链表&#xff0c;并且插入链表采用头部插入法 jdk1.8 底层结构为&#xff1a; 数组链表红黑树&#xff08;源码中数组长度大于64且链表长度大于8 就把链表转成红黑树&#xff0c;链表长度小于6就把红黑树转成…

计蒜客-1269-顺序三元组

给定一个长度为 NN 的数组 A[A_1, A_2, … A_N]A[A 1 ​ ,A 2 ​ ,…A N ​ ]&#xff0c;已知其中每个元素 A_iA i ​ 的值都只可能是 1, 21,2 或者 33。 请求出有多少下标三元组 (i, j, k)(i,j,k) 满足 1 \le i < j < k \le N1≤i<j<k≤N 且 A_i < A_j &…

基础数据结构——堆

目录 1.堆的基本概念 2.有关大根堆的模拟实现 3.优先队列的简单使用 1.堆的基本概念 在介绍堆之前&#xff0c;我们需要先知道优先队列是什么。队列是一种先进先出(FIFO)的数据结构&#xff0c;但有些情况下&#xff0c;操作的数据可能带有优先级&#xff0c;一般出队 列时&…

Day_14 ArrayList集合的底层原理

文章目录ArrayList集合的底层原理ArrayList集合的底层源码分析数据结构栈和队列数组和链表数组单向链表结构双向链表结构Set集合HashSet集合哈希表HashSet集合去重原理ArrayList集合的底层原理 1. 当创建ArrayList集合的时候,代码底层会创建一个长度为0的数组ArrayList<E&g…

C++数据结构——习题7-2 二叉排序树(二叉搜索树)

HLOJ 9576&#xff0c;习题7-2 二叉排序树 输入一个整数关键字序列&#xff0c;生成一棵用链式存储结构存储的二叉排序树&#xff0c;对该二叉排序树能进行查找和插入结点的操作&#xff0c;并对该二叉排序树中结点的关键字按递增和递减顺序输出。 要求依次完成以下工作&#x…

C++数据结构——使用标记的循环队列

输入一个整数序列&#xff1a;a1,a2,a3&#xff0c;…&#xff0c;an&#xff0c;进行入队或出队操作。用数组Q[m]&#xff08;最多能放m个元素&#xff0c;本题设m9&#xff09;表示队列&#xff0c;并且设一个标志tag&#xff0c;以tag0和tag1来区别在队头指针&#xff08;fr…

基础数据结构——栈(stack)

目录 1.栈的介绍 2.栈的模拟实现 3.栈的基本用法 4.部分栈有关oj解析 1.栈的介绍 栈作为一种数据结构&#xff0c;是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据&#xff0c;先进入的数据被压入栈底&#xff0c;最后的数据在栈顶&#xf…

C++数据结构——判断栈的合法操作序列

习题3-2 判断栈的合法操作序列 假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空&#xff0c;入栈和出栈的操作序列可以表示为仅由I和O组成的序列&#xff08;I表示入栈操作&#xff0c;O表示出栈操作&#xff09;&#xff0c;若根据给出的序列能进行栈操作并且最后栈空…

C++数据结构——进制转换

题目描述 将十进制整数n转换成k进制数。 输入格式: 首先输入一个整数T&#xff0c;表示测试数据的组数&#xff0c;然后是T组测试数据。每组测试数据输入两个整数n和k&#xff08; -1000000 ≤ n ≤ 1000000,> 2 ≤ k ≤ 9&#xff09;。 输出格式: 对于每组测试&#xff0c…

基础数据结构——ArrayList(下)

目录 1.前言 2.模拟实现ArrayList 3.ArrayList的使用及部分注意事项 1.前言 在上一篇文章中我们已经大致了解了ArrayList的一些基本用法和ArrayList的部分模拟实现&#xff0c;而在本文我们将继续完成上文未完成的模拟ArrayList的代码&#xff0c;并和大家讲解一些ArrayLis…

CCF CSP刷题记录1——201312出现次数最多的数

试题编号&#xff1a;201312-1试题名称&#xff1a;出现次数最多的数时间限制&#xff1a;1.0s内存限制&#xff1a;256.0MB问题描述&#xff1a; 问题描述   给定n个正整数&#xff0c;找出它们中出现次数最多的数。如果这样的数有多个&#xff0c;请输出其中最小的一个。 输…

题目:找朋友

问题 B: 找朋友 时间限制: 1.000 Sec 内存限制: 128 MB 题目描述 小学毕业后&#xff0c;同学们都进入了不同的初中&#xff0c;小明非常想念小伙伴们&#xff0c;所以他打算联系小学的同学们。 现在他得到了市内某所初中的所有名单&#xff0c;找出其中小明的小伙伴们。 输入…

(查找型数据结构) 二叉搜索树 / 哈希表

Set 和 Map Set 和 Map 是一种专门用来进行搜索的容器或者说是数据结构&#xff0c;他们适合动态查找。我们一般把搜索的数据称为关键字 (Key)&#xff0c;和关键字对应的称为值 (Value)&#xff0c;将其称之为 Key-value 的键值对。 1 Set 只存储 key 红色框框&#xff1a;接…

LeetCode刷题 #118 杨辉三角 Java

题目&#xff1a; 给定一个非负整数 numRows&#xff0c;生成杨辉三角的前 numRows 行。在杨辉三角中&#xff0c;每个数是它左上方和右上方的数的和。 示例&#xff1a; 输入&#xff1a; 5 输出&#xff1a; [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 杨辉三角&am…

图的基本概念及图的存储

目录图(Graph)定义图的各种相关概念图的存储邻接矩阵存储邻接表存储带权图的存储带权图的邻接矩阵存储带权图的邻接表存储图(Graph) 定义 图(Graph)是由 顶点的有穷非空集合 和 顶点之间边 的集合组成&#xff0c;通常表示为G(V, E)&#xff0c;其中&#xff0c;G表示一个图&…

主要SQL语句详解

CREATE DATABASE database_name [WITH LOG IN “pathname”]创建数据库。database_name&#xff1a;数据库名称。“pathname”&#xff1a;事务处理日志文件。创建一database_name.dbs目录&#xff0c;存取权限由GRANT设定&#xff0c;无日志文件就不能使用BEGIN WORK等事务语句…

LeetCode287之寻找重复数(相关话题:二分查找,快慢指针)

题目描述 给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 …

LeetCode199之二叉树的右视图(二叉树的深度遍历和广度遍历)

题目描述 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出…

2021天梯赛训练-3——7-7 帅到没朋友 (20分)

当芸芸众生忙着在朋友圈中发照片的时候&#xff0c;总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。 输入格式&#xff1a; 输入第一行给出一个正整数N&#xff08;≤100&#xff09;&#xff0c;是已知朋友圈的个数&#xff1b;随后N行&#xff0c;每…

HashMap jdk1.7和1.8源码剖析

1 概述 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长. HashMap是非线程安全的,只适用于单线程环境,多线程环境可以采用并发包下的concurrentHashMap HashMap 实现了Serializable接口&#x…

算法笔记(VIII) 拼图游戏与深度优先搜索

原题&#xff1a; 题目2&#xff1a;拼图游戏 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB Problem description 你要将一些图形拼成一个正方形&#xff0c;图形的个数从1到5。如下图所示&#xff0c;图形个数是4&#xff0c; 图形不能旋转&#xf…

算法笔记(II) 数据结构

众所周知&#xff0c;线性与非线性是数据结构分类的一个标准。对于线性数据结构来说&#xff0c;其数据的关系简单一致&#xff0c;因此也呈显一种表的表现形式&#xff0c;按照其数据的存储形式分为顺序表和链表&#xff1b;顺序表一般是就是我们常用的数组&#xff0c;因此考…

C++二叉搜素树的创建,前、中、后序遍历(递归和非递归),层次遍历

文章目录前言一、头文件&#xff08;节点类、树类以及遍历方法的声明&#xff09;二、cpp文件构建二叉搜素树递归遍历二叉树非递归遍历二叉树层次遍历遍历前言 总结一下树的代码。 一、头文件&#xff08;节点类、树类以及遍历方法的声明&#xff09; #pragma once #include …

APK提取反编译 漏了个大洞下载

文件地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1Xa5g9d6x_wRmB41sA2xA2g 提取码&#xff1a;aaaa 使用说明&#xff1a;将apk文件放在apps文件夹中&#xff0c;运行exe文件&#xff0c;结果在result中

栈的操作实验(数据结构)

数据结构中栈的操作实验 一、实验目的 1&#xff0e;掌握栈的存储结构的表示和实现方法。 2&#xff0e;掌握栈的入栈和出栈等基本操作算法实现。 3&#xff0e;了解栈在解决实际问题中的简单应用。 二、实验内容 1&#xff0e;建立顺序栈&#xff0c;并在顺序栈上实现入栈和出…

你知道print和pprint的区别吗?

你知道print和pprint的区别吗&#xff1f; print()和pprint()都是python的打印模块&#xff0c;功能基本一样&#xff0c;唯一的区别就是pprint()模块打印出来的数据结构更加完整&#xff0c;每行为一个数据结构&#xff0c;更加方便阅读打印输出结果。特别是对于特别长的数据…

数据结构与算法学习笔记1——复杂度

数据结构与算法学习笔记1——复杂度 1.什么是算法 定义&#xff1a;算法是用于解决特定问题的一系列的执行步骤 使用不同的算法&#xff0c;解决同一个问题&#xff0c;效率可能相差非常大&#xff0c;那么我们应该如何评判一个算法的好坏呢&#xff1f; 2.如何评价一个算法…

【C++STL库】stack常用函数学习

stack(栈)&#xff0c;后进先出 使用&#xff1a; #include <stack>using namespace std; 1 stack的定义 stack<typename> name;2 stack容器内元素的访问 //top() 访问栈顶元素 st.top();3 stack常用函数实例解析 //1. push(x) 将x入栈 st.push(1);//2. top(…

线索二叉树--中序遍历算法

//还有求任意结点的的后继结点与前驱结点的函数以及遍历的函数&#xff0c;明天再更新 #include<stdio.h> #include<stdlib.h> typedef struct btnode {char element;int RTag ; int LTag ;struct btnode* Lchild, * Rchild; }BTNode; typedef struct btree {struc…

二叉树知识总结

一、前言 数组的搜索比较方便&#xff0c;可以直接用下标&#xff0c;但删除和插入就比较麻烦&#xff1b; 链表与之相反&#xff0c;删除和插入元素很快&#xff0c;但查找比较慢&#xff1b; 此时&#xff0c;二叉树应运而生&#xff0c;二叉树既有链表的好处&#xff0c;…

LeetCode12. 整数转罗马数字 / 剑指 Offer 40. 最小的k个数 / 剑指 Offer 41. 数据流中的中位数

LeetCode12. 整数转罗马数字 2021.5.14 每日一题 题目描述 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。字符 数值 I 1 V 5 X 10 L 50 …

基础数据结构——队列

目录 1.什么是队列 2.队列的使用 3.队列的模拟实现 4.部分队列oj题目解析 1.什么是队列 在队列这种数据结构中&#xff0c;最先插入在元素将是最先被删除&#xff1b;反之最后插入的元素将最后被删除&#xff0c;因此队列又称为“先进先出”&#xff08;FIFO—first in fi…

非递归实现二叉查找树的后序遍历

算法描述&#xff1a; 步骤一&#xff1a; 从当前节点开始&#xff0c;对当前节点以及它的左子树的所有左节点进行入栈处理&#xff0c;但在入栈过程中不做访问&#xff0c;直到当前节点的最左边的叶子节点为止。 步骤二&#xff1a; 当步骤一入栈完毕后&#xff0c;开始出栈…