![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
QUAN_A
萌新
展开
-
杨氏矩阵查找算法
今天再牛客上看到一个算法题。 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如下图中要查找 8。如果存在返回true,如果要查找30,则返回false。 查询的思路就是直接定位到第一行的最右边的元素(5),如果要查找的元素比5小,则左移,如果比5大则下移,反复执行,直到查原创 2017-11-10 11:04:48 · 396 阅读 · 0 评论 -
归并排序
今天又重新学习了归并排序,感觉跟从来没有看过一样,老了,记性就是不好了。学习算法最重要的就是学习算法的思想,归并采用的是分治、合并的思想,既是把要排序的列表分解成小的待排序的列表,把小的列表排序之后再归并到一起。如要对{6,5,9,14,46,7,10}进行排序,把它分解成{6,5,9,14}和{46,7,10}分别进行排序,然后把{6,5,9,14}分解成{6,5}和{9,14}进行排序,依次类推原创 2017-11-21 22:01:23 · 242 阅读 · 0 评论 -
堆排序
最近在学习算法,学习过不久之后总会忘得一干二净,但是算法对程序员又很重要,也不得不学啊!昨天重新学习了堆排序,今天花时间重新整理一下思路。预备知识 堆排序是通过二叉堆实现的,堆是一颗被完全填满的二叉树,例如下图是一颗完全二叉树。 如果把所有的元素放到数组中: 如果把某个根节点的下标设为i,那么它的左子节点的下标的2i+1,右子节点的下标的2i。这个规律是进行堆操作的基础原创 2017-11-16 21:53:58 · 259 阅读 · 0 评论