maven项目工程搭建(idea)
什么maven
maven是Apache的顶级项目,
域名:maven.apache.org
“专家,内行”
它是一个项目管理的工具,maven自身是纯java开发的
The result is a tool that can now be used for building and managing any Java-
...
【编译错误】 /usr/bin/ld: cannot find -lc
今天写服务器的客户端的时候,在Makefile中用的-static静态链接,但是不断报这个错误(如果gcc默认的动态链接没有任何问题)
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
一开始怀疑是不是Makefile中写了什么恶心的错误,然后直接用gcc来静态链接其实结果也是报这个错
后来一番...
基于UDP协议的服务器
在撸我们的服务器之前,先好好给大家好好理一理套接字这块的一些知识和概念。你如果学过网络,问问你自己,什么是端口号?这个概念可不是一个模模糊糊的东西端口号:标识了特定主机上唯一的一个进程的标识符是不是和进程id(pid)很像,没错,确实就是很像,因为进程id是用来标识一个主机上唯一的一个进程,我们通过某个进程的进程id,可以对该进程进行几乎所有操作,比如进程控制,进程间通信等等。而端口号和它的区别就...
哈希表总结(一致性哈希)
哈希表是一种通过哈希函数将特定的键映射到特定值的一种数据结构,他维护着键和值之间一一对应关系。
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后...
数组,链表和哈希表比较
数组与链表的区别:(1)存储空间上: 链表存放的内存空间可以是连续的,也可以是不连续的,数组则是连续的一段内存空间。一般情况下存放相同多的数据时,数组占用较小的内存,而链表还需要存放其前驱和后继的空间。(2)长度的可变性: 链表的长度是按实际需要可以伸缩的,而数组的长度是在定义时要给定的,如果存放的数据个数超过了数组的初始大小,则会出现溢出现象。(3)查找效率:按序号查找时,数组可以随...
动态规划0-1背包问题
简单引入:有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。动态规划中的三个概念:最优子结构,边界,状态转移公式;F(1)=1;F(2)=2;F(n)=F(n-1)+F(n-2) (n>=3);例如:F(10)=F(8)+F(9)为最优子结构;F(1)=1,F(2)=2为边界;F(n)=F(n-1)+F(n-2) (n>=3)...
字典树问题与AC自动机
Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。字典树的核心就是空间换时间,空间消耗大,但是插入和查询有着很优秀的时间复杂度,利用字符串的公共前缀来避免无谓的字符串比较,降低查询时间。 Trie树的平均高度h为单词平均长度len,所以Trie树的查询复杂度为O(h)=O(len)字典树节点: ...
STL之vector详解
1.vector的底层实现template<class _Ty,
class _Ax>
class vector
: public _Vector_val<_Ty, _Ax>
{ // varying size array of values
public:
/********/
protected:
pointe...
为什么不能解决负权边的图?
1.图的存储结构邻接矩阵 使用二维数组来存储图的边的信息和权重,如下图所示的4个顶点的无向图: 从上面可以看出,无向图的边数组是一个对称矩阵。所谓对称矩阵就是n阶矩阵的元满足aij = aji。即从矩阵的左上角到右下角的主对角线为轴,右上角的元和左下角相对应的元全都是相等的。 如果换成有向图,则如图所示的五个顶点的有向图的邻接矩阵表示如下: 邻接...
大数据处理(位图,布隆过滤器)
位图法位图的基本概念是用一个位(bit)来标记某个数据的存放状态。海量数据排序 从最简单的情况说起,如果要对90个小于100的不重复的正整数排序。用位图的思想就是先申请一块100bit的空间,第一遍遍历所有的数,将出现的数字在位图中对应的位置置为1;第二遍遍历位图,依次输出值为1的位对应的数字。先且不说这种情况出现的频率不是很高,就仅这种情况,还是有很多其他的排序算法有它们自己的优势(不用额外...
剑指Offer(33 把数组排成最小数 ,34 丑数,40 数组中只出现一次的数字)
33.把数组排成最小数问题描述:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题的算法,并证明该算法。 思路:先将整数数组转为字符串数组,然后字符串数组进行排序,最后依次输出字符串数组即可。这里注意的是字符串的比较函数需要重新定义,不是比较a和b,而是比较ab与 ba。如果ab ...
剑指offer(链表的算法题)
本文包含链表的以下内容:
1、查找单链表中的倒数第k个结点(剑指offer,题15)
2、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17)
3、单链表的反转【出现频率最高】(剑指offer,题16)
4、从尾到头打印单链表(剑指offer,题5)
5、单链表中,取出环的起始点(剑指offer,题56)
6、判断两个单链表相交的...
剑指offer(树的算法题)
本文包含以下算法题:1.重建二叉树(面试题6)2.树的子结构(面试题18)3.二叉树的镜像(面试题19)4.从上往下打印二叉树(面试题23)5.二叉搜索树的后序遍历序列(面试题24)6.二叉树中和为某一值的路径(面试题25)7.二叉搜索树与双向链表(面试题27)8.二叉树的深度(面试题39)9.平衡二叉树(与上题相关)10.二叉树的下一个结点(面试题58)11.对称的二叉树(面试题59)12.把二...
今日推荐
周排行