ICode9

精准搜索请尝试: 精确搜索
  • 算法选择判断题型2022-01-13 14:02:07

    1-1算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 T 1-2在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 F 1-3仅基于比较的算法能得到的最好的“最坏时间复杂度”是O(NlogN)。 T 1-4对N个记录进行快速排序,在最坏的情况下,其时间

  • 【python教程入门学习】Python集合2022-01-12 15:58:16

    讲解了整形、浮点、字符串等基本数据类型又称元数据类型,这些类型的数据一个是一个不可再被分解,一个数据表示一个信息,简单。随着对Python或其他语言学习的深入,这种单纯的元数据类型难以描述复杂的信息,需要基于这些基本(元)数据类型进行整合,“创造出”新的数据类型来描述计算机

  • 删除有序数组中的重复项2022-01-07 20:03:45

    一,具体思路 利用双指针方法解决; 申请两个变量,p=0,q=1; p指向第一个数,q指向第二个数; 当p指向的数等于q指向的数,q++; 当p指向的数不等于q指向的数 令q指向的数=p+1;此时p++,q++; 循环直到p<数组长度   二,代码实现   int removeDuplicates(int* nums, int numsSize){ if(n

  • 如何让小白写出归并排序求逆序对--薛琛2022-01-05 11:33:42

    如何让小白写出归并排序求逆序对    湖南省株洲市南方中学 薛琛 原文地址: https://blog.csdn.net/xuechen_gemgirl/article/details/88654557   昨日和小白们分享了一个归并排序求逆序对的算法思想,对于此算法的学习,一般小白学不明白。包括曾经的小白的我,理解这个算法可是费了老

  • 有序矩阵中第k小的元素2022-01-04 22:30:50

    class Solution { public int kthSmallest(int[][] matrix, int k) { int rows = matrix.length, columns = matrix[0].length; int[] sorted = new int[rows * columns]; int index = 0; for (int[] row : matrix) { for

  • 一起刷算法 # 二分 # 03 - 062021-12-31 14:34:49

        二分法小总结 最近刷了许多的二分算法题,从简单到困难,有一些心得体会,做个记录以便以后复习。 首先一个感悟就是,二分法究竟在干嘛,它的算法核心是什么? 是while循环么? 是二分概念么? 那二分的概念又是在干嘛呢? 第一点:二分在干嘛 其实,个人觉得,二分的核心在于决定抛弃哪一部分的数

  • Android 广播原理分析2021-12-30 21:30:53

    [Android]有序广播是如何实现有序循环(五)_淡淡的一片天空!-CSDN博客_android 有序广播处理BroadcastQueue是如何循环处理许多的广播?如何将一个Intent分发给所有的Receiver。https://blog.csdn.net/s394500839/article/details/77606753

  • C++合并有序链表2021-12-29 22:05:27

    #include <iostream> using namespace std; //定义链表结构 struct my_list{ int val; my_list *next; my_list(int _val):val(_val),next(nullptr){} }; my_list* merge(my_list* l1,my_list* l2) { if(l1==nullptr) return l2;//实参为空 if(l2==nullptr)

  • 【Redis】——常用五大数据类型之Zset2021-12-25 21:30:01

    Redis 有序集合(Zset) <1> 说明 Redis有序集合zset与普通set非常相似,是一个没有重复元素的字符串集合。 不同之处是有序集合的每个成员都关联一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复的。 因为元素

  • Leetcode.有序矩阵中第 K 小的元素2021-12-23 23:01:02

    给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。 示例 1: 输入:matrix = [[1,5,9],[10,11,13],[12,13,15]], k = 8 输出:13 解释:矩阵中的元素为 [1,5,9,10,11,12,13,13,15],第

  • 单链表直接插入排序2021-12-20 13:05:38

    将单链表按照递增排序 点击查看代码 void inorder(linklist &l) { lnode *p = l->next, *r, *q; // 摘下头结点作为有序表 l->next = nullptr; while (p) { // r和p遍历无序表 r = p; p = p->next; // q遍历有序表,找出无

  • 归并有序链表2021-12-20 01:02:15

    单链表la,lb中的元素按照非递减排列, 设计算法归并la,lb得到新的链表lc,且lc中的元素也按照非递减排列 点击查看代码 // 单链表结构定义 typedef struct lnode { int data; struct lnode *next; } lnode, *linklist; //归并算法 void merge(linklist &la, linklist &lb, li

  • 有序集合类型(zset)2021-12-18 13:33:11

    1、增加元素ZADD key score member [score member...]ZADD命令用来向有序集合中加入一个元素和该元素的份数,如果该元素已经存在则会用心的分数替换原有的分数。ZADD命令的返回值是新加入到集合中的元素个数(不包含之前已经存在的元素) 2、获得元素的分数ZSCORE key member 3、获得

  • Java集合分类详解2021-12-06 19:02:02

    基本介绍 Java对象用来解决数组存在的一些问题 ​​​​ 1》》ArrayList 排列有序、可重复------》有序的,所以访问速度快 底层用的是数组----》ArrayList 在小于扩容容量的情况下其实增加操作效率是非常高的,在涉及扩容的情况下添加操作效率确实低,删除操作需要移位拷贝,效率是

  • 栈和队列相关问题2021-12-05 15:30:16

     栈和队列的实现: 可以用双向链表,先实现一个支持,头进头出,尾进尾出的双向链表。然后再只开放部分接口就够了。 另外一个就是用数组的方法,循环使用数组。 下面的这个题目,可以利用双栈实现。 一种是每一个数对应的最小值都给他记下来,然后等你要的时候直接给出来,时间上就快了。 另

  • 有序数表增删改查2021-12-05 15:02:02

    /* 有序表的增删改查操作 */ #include<stdio.h> #define MAXN 10000 /* 定义符号常量表示数组a的长度 */ int Count = 0; /* 用全局变量Count表示数组a中待处理的元素个数 */ void select(int a[], int option, int value); /* 决定对有序数组a进行何种操作的控制函数

  • 数据结构——名词解释(八)2021-12-04 19:33:47

    第八章 排序 1、排序:排序就是重新排列表中的元素,使表中的元素满足关键字有序的过程。内部排序:是指在排序期间元素全部在内存中进行排序。外部排序:是指在排序的过程中,元素无法全部同时存储在内存中,必须在排序的过程中根据要求不断的在内、外存之间进行移动排序。插入排序:其基

  • 写一下插入排序2021-12-04 09:31:30

    插入排序的大体意思是把一组数分为左右两部分,左边部分是有序的,右边部分是无序的,我们一开始左边第一个是有序的,因为只有一个,右边其他的都是无序,那我们只需要循环遍历右边的每一个元素,依次将每一个元素按顺序插入到左边的有序序列里面就行了,而我们从左边部分最后开始一个一个向前

  • 数据结构——查找算法2021-11-30 22:04:05

    查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)查找算法分类 静态查找和动态查找: 静态或动态都是针对查找表而言。动态查找指查找表中有删除和插入操作的表无序查找 和 有序查找 无序查找:被查找数列有序无序都可以有序查找:被查找数列

  • 算法题:合并两个有序链表 难度:简单2021-11-28 22:58:27

    链表的题,遗忘得有点差不多了,所以也直接看题解了 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode ne

  • 排序算法学习——归并排序2021-11-27 13:01:11

    我们先看归并排序的定义 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 简

  • 交换排序--冒泡排序(一起来吐泡泡吧)2021-11-26 09:07:00

      想更新歌单了,有没有推荐的呀! 文章目录 一.前言二.何为冒泡三.冒泡排序思想四.过程分析五.代码实现六.总结 一.前言   交换排序总体思想是:数据两两比较,发生逆序则交换,直到整个数据有序。交换排序又可以分为冒泡排序和快速排序。本文讲述有关冒泡排序的知识。   

  • 寻找两个有序数组的中位数2021-11-21 14:02:30

    给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,中位数 2 示例 2: 输入:nums1 = [1,2], nums

  • 21.合并两个有序链表2021-11-19 19:33:39

    将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 看到链表,想到常用的递归和迭代方法。 首先是递归方法:如果两个链表中有空链表,返回另一个不为空或者也为空的链表,由于l1,l2是已排好序的非递减链表,我们可以对其值直接进行比较,

  • 有序数组转换为二叉搜索树2021-11-15 23:01:39

    给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 输入:nums = [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,n

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有