From a0893c82d6531f8ffe3fdd61d550defbf6d0abc8 Mon Sep 17 00:00:00 2001 From: "wen.shi" <793220487@qq.com> Date: Sun, 12 Jul 2020 19:25:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AlgoTest.vcxproj | 4 ++++ AlgoTest.vcxproj.filters | 8 ++++++++ ...5\345\237\272\347\241\200\347\202\271.txt" | 19 +++++++++++++++++++ ...7\346\263\225\350\277\207\347\250\213.txt" | 12 ++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 "\347\256\227\346\263\225\345\237\272\347\241\200\347\202\271.txt" create mode 100644 "\347\256\227\346\263\225\350\277\207\347\250\213.txt" diff --git a/AlgoTest.vcxproj b/AlgoTest.vcxproj index a20b2a5..c08b702 100644 --- a/AlgoTest.vcxproj +++ b/AlgoTest.vcxproj @@ -164,6 +164,10 @@ + + + + diff --git a/AlgoTest.vcxproj.filters b/AlgoTest.vcxproj.filters index bcdbb62..7efc7ad 100644 --- a/AlgoTest.vcxproj.filters +++ b/AlgoTest.vcxproj.filters @@ -53,4 +53,12 @@ 源文件 + + + 源文件 + + + 源文件 + + \ No newline at end of file diff --git "a/\347\256\227\346\263\225\345\237\272\347\241\200\347\202\271.txt" "b/\347\256\227\346\263\225\345\237\272\347\241\200\347\202\271.txt" new file mode 100644 index 0000000..4a04b7b --- /dev/null +++ "b/\347\256\227\346\263\225\345\237\272\347\241\200\347\202\271.txt" @@ -0,0 +1,19 @@ +1 快速排序(基于分治法)区间[l,r] + 确定分界点x + 调整区间,使左半边的数都小于等于x,右半边的数都大于等于x(边界问题的处理,模板的使用,可以减少出问题的风险) + 递归处理左右两半边 + + 边界问题造成的死循环:每次分治后,区间大小不变。 + +2 归并排序 分治法 区间[l,r] + 递归排序左右半边 + 归并左右半边 + 时间复杂度:稳定的nlogn (logn层,每层都是O(n)的复杂度) + + 排序的稳定性,对相同的数,排好序之后的序列中的相对位置和原序列中的相对位置相同 + +3 整数二分 区间[l,r] + 有单调性一定可以二分,二分的场景不一定需要有单调性 + 本质是用来找边界,这个边界在左半边区间是满足的,在右半边区间是不满足的。因是整数区间,所以两个区间没有交点 +对应两个点:最后一个满足条件1的点,第一个满足条件2的点 + 每次选择时,选择答案所在的区间,边界点不丢失 \ No newline at end of file diff --git "a/\347\256\227\346\263\225\350\277\207\347\250\213.txt" "b/\347\256\227\346\263\225\350\277\207\347\250\213.txt" new file mode 100644 index 0000000..646b9e4 --- /dev/null +++ "b/\347\256\227\346\263\225\350\277\207\347\250\213.txt" @@ -0,0 +1,12 @@ +序列 l r 划分点 +3 1 2 4 5 0 4 f[l] +2 1 3 4 5 +2 1|3 4 5 + + +1 6 8|4 5 + +1 4 5 6 8 + +3 1 2 4 5 +1 3 2 4 5 \ No newline at end of file