堆与优先级队列 算法和数据结构

堆与优先级队列

堆数据结构是一种数组对象,它可以被视为一科完全二叉树结构。它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆)。它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等。 ...
阅读全文
线程间的同步/互斥 Linux

线程间的同步/互斥

同步与互斥的概念 线程间的关系无非有两种,同步与互斥。 互斥 互斥是指某一资源同时只能允许一个访问者对其进行访问,具有独立性和排他性,但是互斥无法限制访问者对资源的访问顺序,即访问时是无序的。对于线程...
阅读全文
多线程编程基础 Linux

多线程编程基础

线程概念 之前有讲过进程,那么线程其实就是进程的若干执行流,这有什么用呢,那么这用处可就大了去了,我们举个简单的例子,我们用网易云这个软件听歌,我们可以一边听过让他播放,一边再下载歌曲,一边还能让我们...
阅读全文
Source Insight无损破解指南 杂堂笔记

Source Insight无损破解指南

source insight是个什么样的软件,我在这儿就不做过多介绍了,这里有中文代理网站上都有详细的中文介绍当前能够下载到的应该是有两个版本,一个是3.5版本的,另一个是最新的4.0版本。由于原始版...
阅读全文
IPC之共享内存 Linux

IPC之共享内存

1.共享内存简单介绍 共享内存是通过把同一段内存分别映射到自己用户程序空间中,使得多个进程可以访问同一块内存空间,是最快的可⽤用IPC形式。是针对其他通信机制运⾏行效率较低⽽而设计的。注意:共享内存本...
阅读全文
模拟实现STL_List 算法和数据结构

模拟实现STL_List

之前写过好多种版本的list,今天终于可能是最后一个版本的List了,因为是模拟STL里面的,链表的内容我在这儿就不多做介绍了,双向链表应该是链表的一个最完美版本,而结合迭代器的双向链表更是一个完整版...
阅读全文
Are you a junk?(3) 刷题笔记

Are you a junk?(3)

这篇文章只讲解一道题,一道非常非常"简单"的题 1+2+3+.........+N 的解法 解法一:循环 这个方法我这里就不做过多的介绍了,相信大家用头发都能想出来 解法二:递归(凡是能用循环解决的,...
阅读全文
为什么类定义中不能初始化成员变量 C++

为什么类定义中不能初始化成员变量

作为初学者,这点的确很值得一总结,这点在我们实际中往往被忽略,其实C++类中的数据初始化是有讲究的 一般要遵循一下几条约束: 1.一般而言,类里面的任何成员变量在定义时是不能被初始化的。 为什么? 类...
阅读全文