题目相关链接传送门: 1.https://blog.csdn.net/justidle/article/details/104593327?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-5&spm=1001.2101.3001.42 ...
分类:
其他好文 时间:
2020-07-26 19:07:56
阅读次数:
66
递归函数# 了解什么事递归 :在函数中调用自身就是递归函数 # 最大递归深度默认的最大深度为997 / 997 是python从内存角度出发做得限制# 能知道递归# 能知道递归的应用场景# 初始递归# 算法--二分查找算法# 三级菜单--递归实现# RecursionError: maximum r ...
分类:
编程语言 时间:
2020-07-26 00:35:10
阅读次数:
72
二分查找(英语:binary search),也叫折半查找(英语:half-interval search),是一种在有序数组中查找特定元素的搜索算法。所以,二分查找的前提是数组必须是有序的。
二分查找只适用顺序存储结构。为保持表的有序性,在顺序结构里插入和删除都必须移动大量的结点。因此,二分查找特... ...
分类:
编程语言 时间:
2020-07-26 00:08:45
阅读次数:
92
链接:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/ 代码 /** * Definition for singly-linked list. * struct ListNode { * int v ...
分类:
其他好文 时间:
2020-07-26 00:07:52
阅读次数:
59
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 基础的二分查找,唯一需要注意的就是移位运算的优先级很低,需要加括号。 1 class Solution { 2 public: ...
分类:
其他好文 时间:
2020-07-24 21:36:41
阅读次数:
60
数组:按序号访问元素,连续存储,元素可以有序、也可以无序,用下标来定位元素,元素的数量确定(有上限),按下标访问很快,插入和删除元素、排序的开销比较大(元素的移位操作),数组元素无序时,元素的排序速度比较慢(依次比较),数组元素有序时,元素的查找速度比较慢(二分查找,比无序时快)。 链表:插入、删除 ...
分类:
编程语言 时间:
2020-07-24 15:38:12
阅读次数:
68
二分查找 #include<bits/stdc++.h> using namespace std; const int maxn = 2e5+5; long long a[maxn], b[maxn]; long long getKth(int k, int lo1, int hi1, int lo ...
分类:
其他好文 时间:
2020-07-23 23:22:49
阅读次数:
76
基数上限为给定的那个数(不懂),需要二分查找?'?'? #include<bits/stdc++.h> typedef long long ll; int n, tag, radix; char num[2][15]; #define val(c) ('0'<=(c)&&(c)<='9'?(c)-' ...
分类:
其他好文 时间:
2020-07-23 22:22:19
阅读次数:
70
根据BST的前序遍历重建BST 1. 平均O(NlogN) 最坏O(N^2) class Solution { public: TreeNode* dfs(int l, int r, vector<int>& p) { if (l > r) return nullptr; TreeNode* nod ...
分类:
其他好文 时间:
2020-07-23 16:13:09
阅读次数:
67
写几个函数:①输人10个职工的姓名和职工号;②按职工号由小到大顺序排序,姓名顺序也随之调整;③要求输人一个职工号,用折半查找法找出该职工的姓名,从主函数输人要查找的职工号,输出该职工姓名。 题目解析: 利用二分查找的关键在于数据一定要先有序,所以在查找前我们需要对数据进行排序。 代码示例: #inc ...
分类:
编程语言 时间:
2020-07-22 20:39:06
阅读次数:
98