基础算法
华工小懒鬼
这个作者很懒,什么都没留下…
展开
-
二叉树遍历之前序遍历
递归法 /** * 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), left(nullptr), right(nullptr)原创 2021-09-13 23:02:49 · 86 阅读 · 0 评论 -
排序算法之快速排序
快速排序是排序算法中十分重要的一种方法。 快排的优势在于其算法复杂度为(logn),相对于选择、冒泡排序算法较低。 在编写快排算法时,算法效率的高低很大部分取决于对支点pivot的选择,一般采用自己定义findpivot()函数;通常分为两种情况,第一种是直接选择第一项作为支点,即pivot=first;第二种是采用random随机选择一个数的方式(也可取中点)。 class Solution { public: int partition(vector<int>&n.原创 2021-09-03 00:33:35 · 107 阅读 · 1 评论 -
二分查找之三大模板
1.用于查找可以通过访问数组中的单个索引来确定的元素或条件 查找条件可以在不与元素的两侧进行比较的情况下确定(或使用它周围的特定元素 不需要后处理,因为每一步中,你都在检查是否找到了元素。如果到达末尾,则知道未找到该元素。 此处采用左闭右闭的区间范围。 int binarySearch(vector<int>& nums, int target){ int left = 0, right = nums.size() - 1; //左闭右闭 while(l.原创 2021-09-03 00:06:14 · 94 阅读 · 0 评论