
数据结构
达瓦里氏吨吨吨
待万事以俱诚。
展开
-
快排和归并排序(基本功)
1.快排void quicksort(int a[],int low,int high){ if(low>=high) return; int key = a[low]; int first = low; int last = high; while(first<last) { while(first<last...原创 2019-06-24 20:37:30 · 1033 阅读 · 0 评论 -
关于make_heap和priority_queue
参考文献1.stl里关于heap的函数与priority_queue的区别2.C++中两种实现堆的方式:make_heap和priority_queue3.[STL]heap和priority_queue大家都知道,priority_queue是用堆实现的,可以通过重载()运算符选择使用最大堆或最小堆。以前一直觉得stl里面的heap相关的函数都是多余的,因为一般的heap操作都可以用p...原创 2019-09-09 21:25:13 · 934 阅读 · 0 评论 -
堆排序原理和实现
参考文献1.堆排序原理2.堆排序的手写实现堆排序思想Step 1: 构造初始堆初始化堆时是对所有的非叶子结点进行筛选;最后一个非终端元素的下标是[n/2]向下取整,所以筛选只需要从第[n/2]向下取整个元素开始,从后往前进行调整。Step 2:进行堆排序堆排序是一种选择排序。建立的初始堆为初始的无序区。排序开始,首先输出堆顶元素(因为它是最值),将堆顶元素和最后一个元素交换...原创 2019-09-15 14:36:03 · 177 阅读 · 0 评论 -
红黑树常见面试问题整理
参考文献1.红黑树知识点结构图2.红黑树漫画初步解读3.笔试面试常考数据结构红黑树性质总结4.教你初步了解红黑树(很完整的博客!!)一、定义红黑树是一种特定类型的二叉树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由RudolfBayer发明的,他称之为"对称二叉B树",它现代的名字是在LeoJ.Guibas和RobertSedgewick于197...原创 2019-09-15 16:03:20 · 16472 阅读 · 3 评论