计算机网络 编程 总结:
摘要:1.如上图 在服务器与客户端进行通信的过程中 主要进行数据包的传递, 1)对于客户端与客户端之间 应该是互不影响有独立管道,Java模拟过程中 使用多线程的方法对其进行处理,多个线程拥有各自的读写数据的功能 2)对于服务器端 相当于中转站,对于来自于不同的客户端的消息请求 应该要分别进行处理,所以服
阅读全文
N颗骰子的问题
摘要:使用 动态规划问题 : 当 dice=1: 当 dice=2: 进行对比 第m颗 dice时候 和位S :等于前m-1颗dice 结果S-1出现结果有关系的 f(n)=f(n-1)+f(n-2)+f(n-3)+f(n-4)+f(n-5)+f(n-6) 当前 m-1颗dice 与现状 和S相差 最多6
阅读全文
1到N上计算其中1出现次数
摘要:1.剑指offer : 出现一道题:计算1到N上1出现的次数,实在无法看懂其中的编程思想,现在参考: http://blog.csdn.net/yi_afly/article/details/52012593。从中得出一些想法,对此中想法总结。 2.解题思路:将N的十进制中的位数一步步取出来进行分析
阅读全文
Union-find
摘要:1.算法复杂度与设计的数据结构 有关 设计成有一个数组id,id[] 元素保存其相连接的点的编号值 如下所示,采用这种类型的数据结构图 对于这种 Union:1. 在树建立过程出,树的最终形态严重依赖于输入数据本身的性质,比如数据是否排序,是否随机分布等等。比如在输入数据是有序的情况下,构造的BST
阅读全文
图---广度优先遍历
摘要:1.解决问题:判断一幅图中 从顶点S到顶点V之间是否有一条路径 Dijkstar算法的基础(计算出S--V点中最短路径) 1.使用队列(FIFO)先进先出原则 存储与顶点S相距 N条边的点,直到遍历到V点上 不同于深度优先遍历 不需要进行递归 因此 BFS无法判断图中是否有环的 判断出一个有向图是否
阅读全文
将树转换成双向链表
摘要:结果显示 // 注意全局变量和局部变量显示问题
阅读全文
网络编程
摘要:1. 解析: 192.168.1.110 /27 192.168.1.0110 1110 如果处于同一个子网主机 必须保持前3位网络号不变 192.168.1.011 * **** 表示同一子网下主机 A,B表示不同网络,CD属于同一个子网下主机地址 2. 3.交换机独占带宽:每个端口可以享有网络全
阅读全文
图论知识错题本
摘要:1.判断出一个有向图是否有环的是:a.最短路径有向图最短路径Dijkstra不一定能够判断有环,除非Visted数字记录0(false),1(已经访问), 2(再一次重复访问); b.括扑排序:通过入度0之后记录顶点数与原Vetex相比较 C.DFS(深度优先遍历),图处理成树结构时候,找到一个节点
阅读全文
Java多线程分析(八)----Syschronized VS ReentrankLock
摘要:1.Synchronized Vs ReentrantLock 的区别:在低并发量时期两者性能没有较大的区别,在高并发量的情况下,Sync的阻塞性的锁会严重的损害其性能 在Java1.5之前写并发程序的时候,Synchronized对多个线程共享共同的资源变量中为了保证其共享资源的线程安全的性能,采
阅读全文
Java 多线程分析(七)----CAS操作和阻塞
摘要:1.原子性的操作: CAS --CompareAndSwap(),指的是多个线程进入临界区域中,让多个线程在临界区域上自由的竞争,最后能够保证有一个线程能够胜出,其他没有竞争到的线程可以再一次尝试。最终临界区域上的所有线程都能够线程安全性的完成,这种方式,也叫无锁的方式,在之前的Synchroniz
阅读全文
Java 多线程分析 (六) ----三种方式实现Thread
摘要:1.Java中线程和进程的理解:线程是进程较小的划分单位,一个进程至少有一个线程。 多进程:操作系统能够执行不同的程序(window下既可以打开QQ,又可以打开播放器) 多线程:在同一个程序中执行的不同的路径。线程是一个程序内部不同的执行的不同的路劲。 总结:线程是进程的较小的划分单位,对于单核CP
阅读全文
图论--深度优先遍历DFS
摘要:public void pathTo(int v,int start) { /**打印 一结点到其他结点上的路径*/ Stack<Integer> path=new Stack<Integer>(); for(int i=v;i!=startpoint;i=edgeTo[i]) path.push(
阅读全文
图---邻接链表建立
摘要:1 package Graph; 2 /**使用邻接表 生成图*/ 3 public class Graph { 4 5 public int Vertex; 6 public int EdgeNum; 7 VNode[] graph; 8 public Graph(int V[],int E, int [][]vertex,i...
阅读全文
Java 基础知识理解
摘要:1.面向对象系统是 行为建模,行为通过向对象发送消息产生作用 让对象执行某种行为或者获取对象中数据;对于Java虚拟机总是执行等号右边代码才会将赋值语句; 2jUnit 提供一种消除在测试过程中需要不断建立对象方法 setUp():JUnit 在执行测试程序时候之前会自动执行测试过程中setUp方法
阅读全文
l链表的反转
摘要:对于链表的反转:1.整个序列链表进行翻转,不借用额外的空间 2.链表中k个序列进行链表的翻转 2. 链表中K个序列进行翻转过程: 1.某个结点之后的链表进行的翻转:1-2-3-4 >1-4-3-2 2. K个序列进行翻转:tail结点标记K 个序列最终点,同时要head记录K个结点的首字结点。
阅读全文
RecordList
摘要:1.借用的是堆栈,将其进行压入和压出模拟 2.如果不借用堆栈,由题意得recordList最后一个数字肯定是输入原来链表的中间点值,因此使用快慢链表的方式,将原来链表进行分割。 链表的反转和链表的连接;两部分合并 2.如果不采用指针形式,采用链表自身反转和链表的合并: 1.链表的反转过程中解析:采用
阅读全文
ArrayList
摘要:java.util.Collection,Collection是java中保存元素的数据结构,因此数据结构采用java中集合collection。通过类型分类的接口来构造对数据结构分析。Collection类支持大多数集合类的操作 Collection中包含不同数据结构的不同接口的共性,通过Coll
阅读全文
Sort_List@LeetCode
摘要:1.规定了时间复杂度o(nlogn):采用归并排序,在归并过程:采用分合思想,递归将链表分为两段之后再将merge 分两段方法使用 fast-slow法,用两个指针P1,P2,p1指针每一次走两步,p2指针每一次走一步;当P1指针走到末尾时候,P2指针刚好在中间位置,直到将N序列分成最小子序列单个链
阅读全文
拷贝构造函数 Vs 赋值运算函数
摘要:1.拷贝构造函数:用已经创建对象初始化新的对象,首先是一个构造函数,在调用时候产生对象,通过参数传递对其进行初始化 2.赋值运算函数:operator():将一个对象赋值给一个原有对象,所以原有的对象中的内存必须进行释放同时判断两个对象是是不是同一个对象
阅读全文