编程书籍笔记
SyyFeng
只能愈战愈勇
展开
-
散列表
散列表1 散列表与散列方法前面讨论的表示查找表的各种结构,有一个共同点:记录在表中的位置和它的关键字之间不存在一个确定的关系,因此,查找的过程为给定值依次和关键字集合中各个关键字进行比较,查找的效率取决于和给定值进行比较的关键字个数。因此,用这类方法表示的查找表,其平均查找长度都不为零,不同表示方法的差别仅在于:和给定值进行比较的关键字的顺序不同。理想的情况是依据关键码直接得到其对应的数据元...原创 2018-02-09 13:08:35 · 420 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
Sizeof与Strlen的区别与联系sizeof class A{ int a; static int b; } 静态变量是存放在全局数据区的,sizeof只计算栈中分配的大小,所以sizeof(A)不包括b一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值转载 2018-02-05 19:16:52 · 109 阅读 · 0 评论 -
C语言中Static和Const关键字的的作用
C语言中Static和Const关键字的的作用###const与#define区别 const常量有数据类型,宏没有数据类型;编译器可以对const进行类型安全检查,对后者只进行字符替换static作用:“改变生命周期” 或者 “改变作用域” 程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。1.作用于变量: 用st转载 2018-02-04 23:03:02 · 287 阅读 · 0 评论 -
深入理解Java虚拟机 JVM
1.Java内存模型(1)程序计数器(线程私有的)相当于当前线程所执行的字节码的行号指示器。我们知道多线程是由上下文切换实现的,线程上下文切换时例如从A线程切换到B线程时,需要切换到线程B上一次被中断时的代码行,这时候就需要程序需计数器。如果当前执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址,如果执行的是一个JNI方法,这个计数器记录的值为Und...原创 2018-02-06 16:23:52 · 834 阅读 · 0 评论 -
Java多线程
###_多线程* 1.什么是线程* 线程是程序执行的一条路径, 一个进程中可以包含多条线程* 多线程并发执行可以提高程序的效率, 可以同时完成多项工作* 2.多线程的应用场景* 红蜘蛛同时共享屏幕给多个电脑* 迅雷开启多条线程一起下载* QQ同时和多个人一起视频* 服务器同时处理多个客户端请求_多线程(多线程并行和并发的区别)* 并行就是两个任务同时运行,就...原创 2018-02-07 14:33:16 · 104 阅读 · 0 评论 -
多线程(单例设计模式)
###_多线程(单例设计模式)* 单例设计模式:保证类在内存中只有一个对象。* 如何保证类在内存中只有一个对象呢?* (1)控制类的创建,不让其他类来创建本类的对象。private* (2)在本类中定义一个本类的对象。Singleton s;* (3)提供公共的访问方式。 public static Singleton getInstance(){return s}* 单原创 2018-02-07 14:43:45 · 201 阅读 · 0 评论 -
设计模式
###_设计模式(简单工厂模式概述和使用)* A:简单工厂模式概述* 又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例* B:优点* 客户端不需要在负责对象的创建,从而明确了各个类的职责* C:缺点* 这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护* 动物抽象类:public a原创 2018-02-07 14:45:58 · 102 阅读 · 0 评论 -
AJAX使用
一、什么是Ajax Ajax:(Asynchronous JavaScript And XML)指异步 JavaScript 及 XML不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术,是基于JavaScript、XML、HTML、CSS新用法Ajax:只刷新局部页面的技术l JavaScript:更新局部的网页l XML:一般用于请求数据和响应数据的封装l ...原创 2018-02-08 12:23:11 · 138 阅读 · 0 评论 -
树与二叉树
树的概念1.树的定义树(Tree)是 n(n≥0)个有限数据元素的集合。当 n=0 时,称这棵树为空树。在一棵非树 T 中:(1)有一个特殊的数据元素称为树的根结点,根结点没有前驱结点;(2)若 n>1,除根结点之外的其余数据元素被分成 m(m>0)个互不相交的集合 T 1 ,T 2 ,…,T m ,其中每一个集合 T i (1≤i≤m)本身又是一棵树。树 T 1 ,T 2 ,…,...原创 2018-02-08 18:14:09 · 215 阅读 · 0 评论 -
二叉树的存储结构和遍历
二叉树的存储结构 1.顺序存储结构所谓二叉树的顺序存储,就是用一组连续的存储单元存放二叉树中的结点。一般是按照二叉树结点从上至下、从左到右的顺序存储。这样结点在存储位置上的前驱后继关系并不一定就是它们在逻辑上的邻接关系,然而只有通过一些方法确定某结点在逻辑上的前驱结点和后继结点,这种存储才有意义。依据二叉树的性质,完全二叉树和满二叉树采用顺序存储比较合适,树中结点的序号可以唯一地反映出结点之间的逻...原创 2018-02-08 18:13:26 · 939 阅读 · 0 评论 -
B树,B+树,B-树,B*树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点关键字小,就进入左...转载 2018-02-09 12:57:10 · 215 阅读 · 0 评论 -
大话设计师 第四章 开放-封闭原则
开放-封闭原则工厂方法原创 2017-08-27 17:08:06 · 174 阅读 · 0 评论 -
疯狂Java讲义笔记 整形与浮点型
Java·整形常量默认是int类型,浮点型默认是double类型整形:byte 一个byte型整数在内存占8位,表数范围:-128(-2^7)到127(2^7-1);short 16 -32768(-2^15)到32767(2^15-1);int原创 2017-09-13 20:30:54 · 236 阅读 · 0 评论 -
图的存储及基本操作
图的存储及基本操作1 邻接矩阵所谓邻接矩阵存储结构,就是用一维数组存储图中顶点的信息,用矩阵表示图中各顶点之间的邻接关系。假设图 G=(V,E)有 n 个确定的顶点,即 V={v 0 ,v 1 ,…,v n-1 },则表示 G 中各顶点相邻关系为一个 n×n 的矩阵,矩阵的元素为:A[i][j]= 1 若(v i ,v j )或<v i ,v j >是 E(G)中的边 ...原创 2018-02-08 23:29:06 · 1124 阅读 · 0 评论 -
图的遍历(深度优先遍历和广度优先遍历)
图的遍历图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。图的遍历操作和树的遍历操作功能相似。图的遍历是图的一种基本操作,图的许多其它操作都是建立在遍历操作的基础之上。图的遍历通常有深度优先搜索和广度优先搜索两种式。1 深度优先搜索深度优先搜索(Depth_Fisrst Search)遍历类似于树的先根遍历,是树的先根遍历的推广。假设初始状态是图中所有顶点未曾被访...原创 2018-02-08 23:43:50 · 2141 阅读 · 0 评论 -
构造最小生成树Prim算法和Kruskal算法
1.构造最小生成树的 Prim 算法假设 G=(V,E)为一网图,其中 V 为网图中所有顶点的集合,E 为网图中所有带权边的集合。设置两个新的集合 U 和 T,其中集合 U 用于存放 G 的最小生成树中的顶点,集合 T存放 G 的最小生成树中的边。令集合 U 的初值为 U={u1}(假设构造最小生成树时,从顶点u1 出发),集合 T 的初值为 T={}。Prim 算法的思想是:从所有 u∈U,v∈...原创 2018-02-09 00:03:18 · 1037 阅读 · 1 评论 -
拓扑排序AOV和AOE
拓扑排序1.AOV 网所有的工程或者某种流程可以分为若干个小的工程或阶段,这些小的工程或阶段就称为活动。若以图中的顶点来表示活动,有向边表示活动之间的优先关系,则这样活动在顶点上的有向图称为 AOV 网。在 AOV 网中,若从顶点 i 到顶点 j 之间存在一条有向路径,称顶点 i是顶点 j 的前驱,或者称顶点 j 是顶点 i 的后继。若<i,j>是图中的弧,则称顶点 i 是顶点 j...原创 2018-02-09 00:33:47 · 1031 阅读 · 0 评论 -
折半查找C代码
顺序存储为例实现顺序查找:typedef struct { ElemType *elem; //数据元素存储空间基址,建表时按实际长度分配,0 号单元留空 int length; // 表的长度} SSTable; int Search_Seq(SSTable ST, KeyType key) { ST.elem[0].key = key; // 设置“...原创 2018-02-09 11:33:54 · 1939 阅读 · 0 评论 -
二叉排序(查找)树及查找,插入,删除操作
动态查找树表1 二叉排序树1.二叉排序树定义二叉排序树(Binary Sort Tree)或者是一棵空树;或者是具有下列性质的二叉树:⑴ 若左子树不空,则左子树上所有结点的值均小于根结点的值;若右子树不空,则右子树上所有结点的值均大于根结点的值。⑵ 左右子树也都是二叉排序树。通常,取二叉链表作为二叉排序树的存储结构。2.二叉排序树查找过程从其定义可见,二叉排序树的查找过程是一个递归过程,具体...原创 2018-02-09 11:51:36 · 1061 阅读 · 0 评论 -
平衡二叉树及调整
平衡二叉树1.平衡二叉树定义平衡二叉树或者是一棵空树,或者是具有下列性质的二叉排序树:它的左子树和右子树都是平衡二叉树,且左子树和右子树高度之差的绝对值不超过 1。2.平衡二叉树的四种调整方式在平衡二叉树上插入或删除结点后,可能使树失去平衡,因此,需要对失去平衡的树进行平衡化调整。设 a 结点为失去平衡的最小子树根结点,对该子树进行平衡化调整归纳起来有以下四种情况:(1)左单调整图(a)为插入前的...原创 2018-02-09 12:28:56 · 1077 阅读 · 0 评论 -
成员内部类,局部内部类,静态内部类,匿名内部类
成员内部类class Demo1_InnerClass { public static void main(String[] args) { //Inner i = new Inner(); //i.method(); //外部类名.内部类名 = 外部类对象.内部类对象 Outer.Inner oi = new Outer().new Inner(); //创建内部类对象 ...原创 2018-03-01 16:26:42 · 1333 阅读 · 0 评论