
C/C++
文章平均质量分 90
zkp_java
这个作者很懒,什么都没留下…
展开
-
[JVM] Ubuntu下手动编译调试Openjdk
环境编译环境:Ubuntu 17.10 64位 openjdk版本:openjdk9编译步骤安装下载openjdk源码的工具sudo apt install mercurial下载源码$ hg clone http://hg.openjdk.java.net/jdk9/dev 9dev$ cd 9dev$ sh ./get_source.sh由于国内网...原创 2018-04-15 19:38:06 · 1748 阅读 · 0 评论 -
[算法] 入栈出栈问题
问题给定无重复元素的两个等长数组,分别表述入栈序列和出栈序列,请问:这样的出栈序列是否可行: 例如:入栈序列为”ABCDEFG”、出栈序列为”BAEDFGC”,则可行;入栈序列为”ABCD”、出栈序列为”BDAC”,不可行;分析使用一个栈S来模拟压栈出栈的操作,栈顶元素即为s,记入栈序列为A,出栈序列为B,遍历B的每个元素b: 初始状态:栈s为空,认为栈顶元素与b相等,将A...原创 2018-06-20 00:18:34 · 3924 阅读 · 0 评论 -
[算法] 逆波兰表达式(栈实现)
问题计算给定的逆波兰表达式的值,有效操作只有+−∗/+−∗/+-*/,每个操作数都是整数;例如: ”2”, “1”, “+”, “3”, “*” : 9,(2+1)*3“4”, “13”, “5”, “/”, “+” : 6,4+(13/5)分析对于逆波兰表达式abc-d*;若当前字符是操作数,则压栈;若当前字符是操作符,则弹出栈中的两个操作数,计算后仍然压入栈中:...原创 2018-06-19 23:33:23 · 1183 阅读 · 0 评论 -
[算法] 括号匹配问题
问题给定字符串,仅由”()[]{}”六个字符组成,设计算法,判断该字符串是否有效。其中括号以正确的顺序配对称之为有效,如:”()”、”()[]”都是有效的,但”([)]”是无效的。...原创 2018-06-16 08:20:30 · 1429 阅读 · 0 评论 -
[算法] 最短路径条数问题
问题给定如图所示的无向连通图,假定图中所有边的权值均为1,显然,从源点A到终点T的最短路径有多条,求不同的最短路径数目。 分析权值相同的最短路径问题,则单源点DijkstraDijkstraDijkstra算法退化为BFS广度优先算法, 使用DijkstraDijkstraDijkstra算法只能求的到各个节点的最短路径,但不能求得最短路径的条数。假定起点为0,终点为N,数组step...原创 2018-06-15 23:57:54 · 4910 阅读 · 0 评论 -
[算法] 拓扑排序
定义对一个有向无环图(Directed Acyclic Graph,DAG)G进行拓扑排序,使得2任意一对定点uuu、vvv,若边(u,v)∈E(G)(u,v)∈E(G)(u,v) \in E(G),则在线性序列中uuu出现在vvv之前。如下图所示的DAG: 一种可能的拓扑排序是:2->8->0->3->7->1->5->6->9->...原创 2018-06-14 23:35:13 · 227 阅读 · 0 评论 -
[算法] 链表操作
链表节点定义链表相关的操作中我们定义链表节点和公共操作如LinkListCommon.hpp所示:#ifndef LinkListCommon_hpp#define LinkListCommon_hpp#include <stdio.h>typedef struct tagSNode { int value; tagSNode* pNext; ...原创 2018-06-08 00:31:19 · 193 阅读 · 0 评论 -
[算法] 最长公共子序列
问题一个序列SSS任意删除若干个字符得到新序列TTT,则TTT叫做SSS的子序列;两个序列XXX和YYY的公共子序列中,长度最长的那个,定义为XXX和YYY的最长公共子序列(LCS,Longest Common Subsequence): 字符串134551345513455与245576245576245576的最长公共子序列为455455455字符串acdfgacdfgacdfg与...原创 2018-06-22 00:05:22 · 275 阅读 · 0 评论 -
[算法] 字符串循环左移
问题给定一个字符串S[0...N−1]S[0...N−1]S[0...N-1],要求把SSS的前kkk个字符串移动到SSS的尾部,如把字符串abcdefabcdefabcdef,前面的两个字符aaa、bbb移动到移动到字符串的尾部,得到新字符串cdefabcdefabcdefab:即字符串循环左移kkk个:循环左移n+kn+kn+k2和kkk2的效果相同;循环左移kkk位等价于循环右移...原创 2018-06-21 23:00:56 · 495 阅读 · 0 评论 -
[Linux] Linux IO模式及 select、poll、epoll详解
注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一、概念说明用户空间和内核空间进程切换进程的阻塞文件描述符缓存 I/O用户空间...原创 2019-03-07 22:32:32 · 411 阅读 · 0 评论