Chenyawei's Blog

At the bottom of the well, it is destined to see only the sky at the wellhead. However, the starting point only affects the process of reaching your peak and does not determine the height you reach.

快速排序

快速排序思路:快速排序时间最好情况下的复杂度为O(\log_2 n),待排序序列越无序,本算法效率越高。最坏情况下的时间复杂度为O(n^2),平均复杂度为$O(\log_2 n)$, 对一个序列A[1]、A[2]、… 、A[n],调整序列中元素的位置,一趟排序后,使得A[1]的左侧所有元素都不超过A[1]、右侧所有元素都大于A[1]. 然后,以A[1]位置分割左右两部分递归快速排序 12......

归并排序

二路归并排序思路:将原始序列看作N个只包含一个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下一个有序的序列。时间复杂度为O(\log_2 n) 代码: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include <c......

插入排序

直接插入思路:每趟将一个待排序的关键字按照其值的大小,插入到有序序列中的正确的位置,直到全部序列有序。其时间复杂度为O(n^2), 待排序的元素超过10^5的规模时是无法承受的。 代码: 123456789101112131415161718192021222324252627282930#include <cstdio>#include <algorithm>tem......

two pointers编程思想

什么是two pointerstwo pointers是算法编程中一种非常重要的思想,或者说是一种编程技巧。它非常简洁和高效。 以一个例子引入:给定一个递增的正整数序列和一个正整数M,求序列中的两个不同位置的数a和b,使得它们的和恰好为M,输出所有满足条件的方案。如给定序列{1,2,3,4,5,6}和正好是M=8,就存在2+6=8与3+5=8成立。 直观的想法是使用二重循环枚举序列中的a和......

lower_bound和upper_bound函数应用

二分查找的应用 lower_bound( )和upper_bound( ) 使用时需要引用c++标准库中 在从小到大的排序数组中: lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。 upper_......

贪心算法

贪心算法贪心是用来解决一类最优化问题,一般就是问最多,最少,最大值,最小值,最短,最长,只要这个题考最。。。。或者问怎么才能使。。。。。我们就可以考虑贪心算法。 1. 简单贪心求解一类最优化问题的方法,它总是考虑在当前状态下局部最优(或较优)的策略,来使全局的结果达到最优(或较优)。而要获得最优结果,则要求中间的每步策略都是最优的,因此在严谨的使用贪心法求解最优问题,需要对采取的策略进行证明......

SQL视图的使用

1.视图作用试图是虚拟的表。与包含数据的表不一样,试图只包含使用时动态的检索数据的查询。 可以用与表基本相同的方式使用它们。对视图执行select操作,过滤和排序数据,将视图联结到其他视图或表,甚至添加和更新数据(添加和更新数据有某些限制) 简化复杂的SQL操作,过滤信息,计算字段等。编写查询后,可以方便的重用它而不必知道其基本查询细节 使用表的一部分而不是整个表。 保护数据。可以授予用......

部署Hexo博客到阿里云centOS7

1、博客的架构先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。不然只跟着步骤过了一遍,却不知道为什么这么做。 首先看这张架构图: 2、整个搭建流程第一部分: 服务器环境搭建,包括安装 Git 、Nginx配置 、创建 git 用户 。 第二部分: 本地Hexo初始化, 包括安装 NodeJS 、hexo-cli, 生成本地静态网站 第三部分: 使用Git自动化......

Java关键字之static

一. 什么是static关键字 我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员。此时就是 static 大显身手的时候了!! Java 中被 static修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被==类的所有对象==所共享。 方便在没有创建对象的情况下进行调用(变量或方法)。 静......

搭建自己的Hexo博客

1.安装node.jsHexo需用通过npm安装,而npm需要node,现在只要安装node 就自带 npm了 1234执行命令查看是否安装成功:node -vnpm -v 1234567安装nmp阿里的命令:npm install -g cnpm --registry=https://registry.npm.taobao.org 检查是否安装成功:cnpm -vcnpm安装软件时会比较快......