
基础算法
文章平均质量分 72
e
风中的默默
1998年过去了,我们很怀念它
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
贪心算法理解
我们先看一个例子假设有一个可以容纳100kg物品的背包,背包可以装各种物品,我们有以下五种豆子,每种豆子的重量和总价值各不相同。为了让背包中所装物品的总价值最大,我们如何选择在背包中装哪些豆子?每种豆子又应该装多少?我们可以这样想,我们只需要计算出每种豆子的单价,按照价格由高到低依次来装豆子,先按单价最高的豆子装,装不满的话,再装价格相对较低的豆子,直到装满为止。:针对一组数据,事先定义了限制值和期望值,希望从中选择几个数据,在满足限制的情况下,期望值最大。原创 2024-07-17 17:33:06 · 848 阅读 · 0 评论 -
IO多路复用技术、select、poll、epoll联系与区别
epoll 是 Linux 内核提供的一种高效的 I/O 多路复用技术,用于监控大量文件描述符(file descriptors)的 I/O 事件。epoll是Linux下的一种高效的I/O多路复用技术。epoll_ctl:用于添加(EPOLL_CTL_ADD)、修改(EPOLL_CTL_MOD)或删除(EPOLL_CTL_DEL)感兴趣的文件描述符。异步的:epoll 允许应用程序先注册对特定的 I/O 事件,当这些事件发生之后操作系统会自动通知应用程序,这是异步 I/O 的一个关键特征。原创 2024-07-15 10:48:03 · 1091 阅读 · 0 评论 -
HTTPS、对称/非对称加密、SSL/TLS
HTTPS并不是一个单独的协议,是在 TCP 和 HTTP 之间加入了 SSL/TLS 安全协议,使得报文能够加密传输,SSL是TLS的前身,现在使用的大多都是TLS。原创 2024-04-02 22:20:10 · 8875 阅读 · 0 评论 -
TopK问题解决方案
在BFPTR算法中,仅仅是改变了快速排序Partion中的pivot值的选取,在快速排序中,我们始终选择第一个元素或者最后一个元素作为pivot。而在BFPTR算法中,每次选择五分中位数的中位数作为pivot,这样做的目的就是使得划分比较合理,从而避免了最坏情况的发生。:维护K个元素的最大堆,每次和堆顶元素比较,然后堆化,时间复杂度为O(nlogK),时间复杂度比方案1好,毕竟K一般是远远小于n的。(2)将比这个数大的数全部放到它的右边,把小于或者等于它的数全部放到它的左边。一趟快速排序的过程如下。原创 2024-04-01 23:00:37 · 8491 阅读 · 0 评论 -
二叉树的遍历
二叉树的遍历先序遍历:ABCDEFGHK中序遍历:BDCAEHGKF后序遍历:DCBHKGFEA原创 2020-06-29 14:44:15 · 302 阅读 · 0 评论 -
经典排序java版
目录经典排序算法算法总结:I :冒泡排序(Bubble Sort)II :选择排序(Selection Sort)III :插入排序(Insertion Sort)IV :希尔排序(Shell Sort)V :归并排序(Merge Sort)VI :快速排序(Quick Sort)VII :堆排序(Heap Sort)VIII :计数排序(Counting Sort)IX :桶排序(Bucket Sort)X :基数排序(Radix Sort)经典排序算法原文链接:https://www.cnblogs原创 2020-06-23 18:10:04 · 215 阅读 · 0 评论