• 2024-07-02排序算法
    排序算法的整理和比较。一、基本概念  排序算法就是将一序列对象根据某个关键字进行排序。各个排序算法的时间复杂度和空间复杂度不尽相同,所需的条件和适用范围也不同。一般根据元素的相对位置分为稳定排序算法和非稳定的排序算法。也可根据执行情况分为内排序和外排序。另
  • 2024-06-23归并排序
    归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序算法稳定,数组
  • 2024-06-23Redis-数据结构-跳表详解
    Redis概述Redis-数据结构-跳表详解跳表(SkipList)是一种基于并联的链表结构,用于在有序元素序列中快速查找元素的数据结构。Redis中广泛使用跳表来实现有序集合(SortedSet)这一数据结构。1.跳表的基本概念和特点跳表的核心思想是通过在不同层级(level)上增加指针来加速查
  • 2024-06-20flink 如果是有序流,还需要 forMonotonousTimestamps吗
    如果数据是有序的,即数据完全按照时间发生的顺序到达,那么在flink中,虽然理论上不需要额外的Watermark策略来标识数据的有序性,但使用forMonotonousTimestamps策略仍然有其必要性。以下是详细解释:水位的作用即使数据完全有序,flink的窗口计算仍然需要watermark来触发。watermark提
  • 2024-06-1321. 合并两个有序链表
    题目链接一、题目描述1.题目将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。2.示例示例1:输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]示例2:输入:l1=[],l2=[]输出:[]示例3:输入:l1=[],l2=[0]输出:[0]
  • 2024-06-10排序 - 归并排序(Merge Sort)
    将两个的有序数列合并成一个有序数列,我们称之为"归并"。归并排序(MergeSort)就是利用归并思想对数列进行排序。归并排序介绍从下往上的归并排序从上往下的归并排序归并排序实现从上往下的归并排序从下往上的归并排序归并排序的时间复杂度和稳定性归并排序时间复杂度归
  • 2024-06-09数据结构与算法之归并排序,以及它的代码实现与事例
    目录前言定义策略代码实现结果结束语前言今天是坚持写博客的第22天,我们来看看数据结构与算法当中的归并排序。定义首先我们来看看什么是归并排序?归并排序(MergeSort)是一种分治思想的排序算法。它将待排序的数组分成若干个子数组,每个子数组都是有序的,然后再将有序
  • 2024-06-0721. 合并两个有序链表
    packagemainimport"fmt"typeListNodestruct{ Valint Next*ListNode}//创建链表funccreateList(nums[]int)*ListNode{ head:=&ListNode{} tail:=head fori:=0;i<len(nums);i++{ node:=&ListNode{Val:nums[i]} t
  • 2024-06-06Java中所有的集合可以分为两大类:接口和实现类。
     接口:Collection:是所有集合的根接口,定义了一组操作集合的基本方法,如添加、删除、遍历等。List:是有序的、可重复的集合,继承自Collection接口。Set:是无序的、不可重复的集合,继承自Collection接口。Queue:是队列接口,用于存储按一定顺序访问的元素。Deque:是双端队列接口,可以
  • 2024-06-02Redis - 实现在线人数统计功能
    一、前言在线人数统计这个功能实现的方式很多,这里说一下常使用的方式:使用Redis的有序集合(zset)实现。核心方法是这四个:zadd、zrangeByScore、zremrangeByScore、zrem。二、实现步骤1.如何认定用户是否在线?认定用户在线的条件一般跟网站有关,如果网站需要登录才能进入,那么这
  • 2024-06-02合并两个有序递增链表
    题目如下: 代码如下:1#include<stdio.h>2#include<stdlib.h>34typedefstructListNode{5intval;6structListNode*next;7}ListNode_t;89structListNode*Merge(structListNode*pHead1,structListNode*pHead2)10{
  • 2024-05-28有序数组的平方
    文章目录有序数组的平方解题思路有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为
  • 2024-05-27有序撤退
    刚办完了上海落户,但上海已经不是之前的上海了;要有序撤退了,沪漂6年,倒也是比较好的融入了当地生活;如果从16年开始算,这已经是衰退的第八个年头了,我在第二年进入市场,抓住了最后一部分机会,赶了趟末班车;人才引进也是赶了趟末班车,下个月社保关系就要妥协于降本增效了;3年以来所有人的
  • 2024-05-23有序数组的平方
    leetcode:977题需求:给定一个有序数组,返回数组所有元素平方之后的结果,要求平方后的数组依然有序。注意:数组是有负数的。例:[-5,1,2,3]暴力解法:先平方,后使用排序算法排序。双指针思路:根据数组可以看出<-[-5,1,2,3]->,平方后的数组的大小是从两边往中间逐渐缩小的。所以
  • 2024-05-17cpp hash
    一般哈希表都是用来快速判断一个元素是否出现集合里。比如找到一个学生,在不在队列里,这种查找问题,使用hash表,可以快速执行。hash函数:用于将需要填充的值或者索引,映射到hashtable的索引上。哈希碰撞:如果两个事物的hashvalue相同,则出现hash碰撞。一般哈希碰撞有两
  • 2024-05-10Python-有序字典OrderedDict练习题
    问题:读取键盘输入结果,创建n个键值对,将其排序后放入有序字典并输出。详细描述:根据提示,实现函数功能:读取n(n>0)行输入,以每一行的数据为key,行号(从0开始)为value,建立n对键值对,然后将他们按照key排序后,放入一个有序字典,最后输出这个有序字典。importcollectionsdefFunc():pairs
  • 2024-05-10c语言 复杂度为O(n)的有序数字字符的去重
     #include<stdio.h>intmain(){//有序列表的去重intarr[]={1,2,2,3,3,3,5,6,7,7,7,7,8,8,9,9,9};intlen=sizeof(arr)/4;intmark[len]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};intk=0;//打印数组printf("原始数组:")
  • 2024-04-30【Redis】Redis的操作命令(五)——Redis 有序集合(sorted set)
    有序集合添加元素ZADDrunoobkey1redis有序集合移除元素ZRANGErunoobkey010WITHSCORES有序集合命令命令说明例子ZADDkeyscore1member1[score2member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数 ZCARDkey获取有序集合的成员数 
  • 2024-04-22已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为t型)后保持该顺序表仍然递增有序排列(假设插入操作总能成功)c实现。
    /********************************************************************************************************** filename: Zqh_splist_4.22.1.c* author : [email protected]* date : 2024/04/22* function: 已知一个顺序表L,其中的元素递增有序排列,设计一个算法
  • 2024-04-22已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。
    已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。/********************************************************************* 函数名称: SeqListInsert* 函数功能:一个顺序表L,其中的元素
  • 2024-04-22已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持该顺序表仍然递增有序排列(假设插入操作总能成功)(笔试题)
    已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持该顺序表仍然递增有序排列(假设插入操作总能成功)(笔试题)/********************************************************name:SeqAdd* function:(笔试题)已知一个顺序表L,其中的元
  • 2024-04-22有序表插入新元素
    include<stdio.h>include<stdlib.h>include<string.h>int*sort(int*L,intj,intsize){intL2=(int)malloc(size*4+4);intik=0;for(inti=0;i<size-1;i++){if(L[i]<j){L2[i]=L[i];}else{ik=i;break;}}L2[ik-1]=j
  • 2024-04-20说说常见的排序算法有哪些?区别?
    一、是什么排序是程序开发中非常常见的操作,对一组任意的数据元素经过排序操作后,就可以把他们变成一组一定规则排序的有序序列排序算法属于算法中的一种,而且是覆盖范围极小的一种,彻底掌握排序算法对程序开发是有很大的帮助的对与排序算法的好坏衡量,主要是从时间复杂度、空间复
  • 2024-04-10在线人数统计功能怎么实现?
    一、前言大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。在线人数统计这个功能相信大家一眼就明白是啥,这个功能不难做,实现的方式也很多,这里说一下我常使用的方式:使用Redis的有序集合(
  • 2024-04-10NzN的数据结构--插入排序
         排序排序我要Disney,今天我们先来看看经典排序算法里的插入排序,先三连后看才是好习惯!!!目录一、排序的概念及应用1.排序的概念2.排序的应用3.常见的排序算法二、插入排序1.基本思想2.直接插入排序3.希尔排序(缩小增量排序)一、排序的概念及应用1.