数组声明创建 声明数组变量,两种方法 int[] num; int num[]; 使用 new 创建数组 num = new int[arraySize]; 可以同时进行声明和创建数组 int[] num = new int[arraySize]; 数组初始化 静态初始化 int[] a = {1, ...
分类:
编程语言 时间:
2021-03-09 13:55:36
阅读次数:
0
二叉树 1.1 为什么需要树这种数据结构 1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图] 画出操作示意图: 2) 链式存储方式的分析 优点:在一定程度上对 ...
分类:
编程语言 时间:
2021-03-09 13:27:10
阅读次数:
0
二分查找,简而言之就是在一个有序的序列中找一个元素,因为这些元素已经有序,所以每次都将要找的数跟待寻找序列的中间元素比较,如果要找的数大于中间元素,说明接下来只需要在该序列的右半边中找,所以可以不用管左半边了,这样每次都排除一半的元素直到最后找到要找的元素。我们可以用两个变量代表待寻找序列的最左端索 ...
分类:
其他好文 时间:
2021-03-05 13:27:34
阅读次数:
0
快排的实现利用了二分查找法; 二分法是通过与中间值进行比较,每次缩小一半的区域; 快速类似于二分法,每次都在数组中选择一个基数,每一轮结束后,比该基数小的都位于该基数的左边,比该基数大的位于右边。然后再分别在左边的数组里,里面选一个基点和基点值,右边选择基点和基点值,这里就是用递归。 functio ...
分类:
编程语言 时间:
2021-02-24 12:48:35
阅读次数:
0
题意 在一个有序数组里找两个和为s的数字 思路 1??有序,立刻联想到二分查找,我们可以依次遍历数组中的每个数字,然后二分查找另一个数字使得和可以为s。 2??双指针的写法 一开始分别放在最左和最右,对应为最小和最大的数字,记两个指针指向的元素的和为sum 如果sum > target,说明太大,则 ...
分类:
其他好文 时间:
2021-02-15 12:36:24
阅读次数:
0
剑指 Offer 11. 旋转数组的最小数字 Offer 11 题目描述: 暴力解法:直接遍历整个数组,当后一个元素小于前一个元素则表示找到了最小值。 public class Offer_11 { public int minArray(int[] numbers) { int n = numbe ...
分类:
编程语言 时间:
2021-01-26 12:28:16
阅读次数:
0
题目描述 Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays. Follow up: The overall run time ...
分类:
其他好文 时间:
2021-01-19 12:12:17
阅读次数:
0
1. 二分查找 C++ STL标准库中提供有 lower_bound()、upper_bound()、equal_range() 以及 binary_search() 这 4 个查找函数,它们的底层实现采用的都是二分查找的方式。 1.1 lower_bound() lower_bound() 函数用 ...
分类:
其他好文 时间:
2021-01-18 11:23:23
阅读次数:
0
二分查找可以理解为折纸,对半折。 主要:你需要主要是二分查找的数据是有序的。 它的时间复杂度:log2(n) 对应的算法师折半查找法: 代码: #include <stdio.h> #include <stdlib.h> #define keyType int typedef struct { ke ...
分类:
其他好文 时间:
2021-01-06 11:59:08
阅读次数:
0
题意:要组装一台电脑,需要n个配件,每个配件有m 种,每种给出一个使用寿命和价格,只要有一个配件到寿命电脑就不能使用,求最大的组成电脑总花费/电脑寿命,多个最大情况下输出最小的费用。题目:https://vjudge.net/problem/Gym-102878L 题解:给的寿命是有序的,那么找一个 ...
分类:
其他好文 时间:
2020-12-31 12:21:26
阅读次数:
0