- 博客(52)
- 资源 (4)
- 收藏
- 关注
原创 实习小结1
不要死板的理解和查看规范文档,java开发手册什么的过一过就好理解和了解相关的企业名词比如saas,paas,iaas,外包,OEM,ODM,O2O,B2B2C,学习使用git,github,gitlab,主要是时不时可以学学简单基本的git命令,虽然现在已经有很多图形界面工具,比如Ideal有支持,还有git安装有的自带,github,gitlab也是图形界面的操作。区别git,githu...
2018-03-18 10:09:16 846
原创 关于C语言部分面试题小测试
如果不赋值是不会++的操作#include<stdio.h>int main(){ int i = 0; printf("%d",i+1); printf("%d",i); return 0;}if语句判断条件的探索 结论是正负数都能 只有0不能#include<stdio.h>int main(){ if(-1){ printf("-1能通过判断进来\...
2018-02-26 22:38:37 368
原创 构造线性二叉树
/* 使用二叉排序树的数据结构进行排序,其实有两种形式实现 一种是数组,模拟二叉排序树的结构存储数据 ,同样通过数组遍历模拟二叉树的中序遍历 还有一种是 定义二叉树结构,然后中序遍历 */ /* #include <stdio.h> //数组形式实现 int flag = 1;void binary_tree(int *btree, int *list,...
2018-02-26 22:35:58 1047
原创 循环链表
#include<stdio.h> #include<malloc.h> //包含了malloc函数 int flag = 0;/* *循环队列,用数组实现 */ //队列结构体定义 typedef struct Queue { int * pBase; //用于动态分配内存,pBase保存数组的首地址 ...
2018-02-26 22:34:54 398
原创 链队
#include<stdio.h> #include<stdlib.h> //using namespace std; #define OK 1 typedef int QElemType; typedef int Status; struct QNode{ QElemType data; struct QNode *next...
2018-02-26 22:33:26 574
原创 顺序队列
#include<stdio.h>#include<malloc.h>#include<conio.h>#define QUEUESIZE 5int length;int flag = 0;typedef struct Queue{ int head;//指向队头 int rear;//指向队尾 int *array;}QUEUE;vo...
2018-02-26 22:32:49 255
原创 双向栈 可实现队列
#include <stdio.h> #define MaxStackSize 100 typedef int DataType; int len,x; typedef struct { DataType stack[MaxStackSize]; //栈的申明定义 int top1; int top2...
2018-02-26 22:32:16 572
原创 链栈
#include <stdio.h>#include <stdlib.h>#include <malloc.h>/* 链栈 其实就是用链表加上栈的操作 当链表结构的操作是栈的操作 就把这种结构叫做链栈 */ // 定义一个节点的结构typedef struct node{ int member; //数据域...
2018-02-26 22:31:31 277
原创 顺序栈
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 //不可操作的 不可行的 ...
2018-02-26 22:30:42 321
原创 双向循环链表
#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<malloc.h>#define OK 1typedef int ElemType;/* 对链表的这些操作 如果是直接用指针作为参数传递 将会是值传递 如果把head指针的拷贝 作为参数 在没有分配内存...
2018-02-26 22:30:10 418
原创 双向链表
#include<stdio.h>#include<conio.h>#include<malloc.h>#include<stdlib.h>#define FALSE 0#define ERROR 0typedef int ElemType;typedef struct Node{ Node *next; Node *prev;...
2018-02-26 22:29:32 322
原创 单向循环链表
#include<stdio.h>#include<conio.h>#include<malloc.h>#define ERROR 0#define FALSE 0typedef int ElemType; //单项循环链表 也就是最后一个元素指向头指针 typedef struct LNode{ ElemType data; LNode ...
2018-02-26 22:28:39 297
原创 单链表
#include<stdio.h>#include<malloc.h>#include<conio.h>#define OK 1#define ERROR -1#define OVERFLOW -2#define ENDFLAG 0typedef struct LNode{ int data; LNode *next;}LNode;//定义链...
2018-02-26 22:27:55 281
原创 字符串查找
/* 判断大字符串是否包含某个子字符串 一般匹配字符串时,我们从目标字符串str(假设长度为n)的第一个下标选取和ptr长度(长度为m) 一样的子字符串进行比较,如果一样,就返回开始处的下标值, 不一样,选取str下一个下标,同样选取长度为n的字符串进行比较,直到str的末尾(实际比较时,下标移动到n-m)。 这样的时间复杂度是O(n*m)。 普通实现: int strStr(con...
2018-02-26 22:26:46 467
原创 字符串全排列
/*方法1:依次从字符串中取出一个字符作为最终排列的第一个字符,对剩余字符组成的字符串生成全排列,最终结果为取出的字符和剩余子串全排列的组合。#include <iostream>#include <string>using namespace std; void permute1(string prefix, string str){ if(st...
2018-02-26 22:25:19 792
原创 字符串替换
//字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”//另外一种较为浪费空间的思路就是新建一个数组。。一个个判断空格就替换成%20 #include <stdio.h> //#include <assert.h> void replace(char *src) { //assert(src); //检查字符串定义 in...
2018-02-26 22:21:57 239
原创 最长同一字符组成的子字符串
//编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。//假如有相同大小长度的子字符串 怎么输出两个呢? //用两个函数,一个记录最大的子字符串 一个输出字符串 #include<stdio.h>#include<string.h>#include<stdlib.h> void print(char ch...
2018-02-26 22:21:19 576
原创 快速排序
/* 恩,重头戏开始了,快速排序是各种笔试面试最爱考的排序算法之一, 且排序思想在很多算法题里面被广泛使用。是需要重点掌握的排序算法。 其基本思想是基本思想是,通过一趟排序将待排记录分隔成独立的两部分, 其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分 记录继续进行排序,以达到整个序列有序。 1、从数列中挑出一个元素,称为 "基准"(pivot), 2、...
2018-02-26 22:20:05 249
原创 堆排序
/* 建堆的过程,堆调整的过程,这些过程的时间复杂度,空间复杂度,以及如何应用在海量数据Top K问题中等等 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构, 并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 1---父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2---每个结点的左子...
2018-02-26 22:14:32 247
原创 桶排序
/*桶排序可用于最大最小值相差较大的数据情况,比如[9012,19702,39867,68957,83556,102456]。但桶排序要求数据的分布必须均匀,否则可能导致数据都集中到一个桶中。比如[104,150,123,132,20000], 这种数据会导致前4个数都集中到同一个桶中。导致桶排序失效。 桶排序只要能恰当的恰到好处的实现桶的构造,可以大大优化性能 关键在于桶的设计。而且桶...
2018-02-26 22:13:59 338
原创 计数排序
/* 计数排序需要占用大量空间,它仅适用于数据比较集中的情况。比如 [0~100],[10000~19999] 这样的数据。 计数排序是桶排序的一种特殊情况,可以把计数排序当成每个桶里只有一个元素的情况。计数排序的基本思想是:对每一个输入的元素arr[i],确定小于 arr[i] 的元素个数。 所以可以直接把 arr[i] 放到它输出数组中的位置上。假设有5个数小于 arr[i], 所以...
2018-02-26 22:13:18 287
原创 基数排序
#include<stdio.h>/*基数排序更适合用于对时间、字符串等这些整体权值未知的数据进行排序基数排序已经不再是一种常规的排序方式,它更多地像一种排序方法的应用,基数排序必须依赖于另外的排序方法。基数排序的总体思路就是将待排序数据拆分成多个关键字进行排序,也就是说,基数排序的实质是多关键字排序。如果按照习惯思维,会先比较百位,百位大的数据大,百位相同的再比较十位...
2018-02-26 22:12:37 216
原创 二分插入排序
#include<stdio.h>/* 这个其实是对直接插入排序的优化 在搜索上用二叉搜索 而不是一个个比较 当n较大时,比直接插入排序的最大比较次数少得多 二叉直接插入排序和二叉排序树还是有点不同的...二叉排序树排序是通过构造排序二叉树实现的 */ void print(int *a){ int i; for(i = 0; i < 7;i++){ ...
2018-02-26 22:11:27 297
原创 归并排序
/* 归并排序是建立在归并操作上的一种有效的排序算法。 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。 将已有序的子序列合并,得到完全有序的序列; 即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 归并排序具体算法描述如下(递归版本): 1、Divide: 把长度为n的...
2018-02-26 22:10:24 193
原创 希尔排序
/* 希尔排序 就是把原来序列 分成按照距离d 一般的初次取序列的一半为增量,以后每次减半,直到增量为1。 希尔排序的思想是在宏观上进行调控,有助于在微观排序上提升性能 组内的排序同样是直接插入排序 */#include <stdio.h>void print(int *a){ int i; for(i = 0; i < 7;i++){ printf("...
2018-02-26 22:09:22 236
原创 冒泡排序
#include<stdio.h>/* 冒泡排序好理解,稳定,空间复杂度低,不需要额外开辟数组元素的临时保存控件,编写容易。 其算法很简单,就是比较数组相邻的两个值,把大的像泡泡一样“冒”到数组后面去,一共要执行N的平方除以2这么多次的比较和交换的操作(N为数组元素),其复杂度为Ο(n2)*/void print(int *a){ int i; for(i = 0; i...
2018-02-26 22:08:43 356
原创 直接选择排序
#include<stdio.h>/* 直接选择排序 是类似冒泡啊 直接插入排序这一类的 但是他是每次直接选择出最大的和最后一个交换,然后第二次就是倒数第二个。。。以此类推 不需要一直相邻的交换 当然也可以选择小元素放前面 */ void print(int *a){ int i; for(i = 0; i < 7;i++){ printf("%d ",a[...
2018-02-26 22:07:52 182
原创 直接插入排序
#include<stdio.h>#include<malloc.h>/* 直接插入排序即是在要排序的数组中,假设前n-1(n>=2)个数已经是排好序的,现在要把第n个数插入到前n个已经排好序的 数组中,使得这n个数也变成有序的,如此反复循环,使得要排序的数组中的最后一个元素也排好序, 我们可以先假设第一个数是排好序的,然后第二个数和第一个数进行比较,...
2018-02-26 22:06:43 216
原创 计算机网络简单理解总结
这篇文章我看了书 也网上搜索了一些网站看看大概的不懂的地方。本文大概理解了大部分内容部分内容的理解大家可以根据自己的东西加以理解,有不正确的地方 还望加以评论指正! 谢谢!首先是知乎上一篇对计算机网络总体的理解: 那么计算机网络怎么去理解呢?计网的目的是通信,是为了连接端到端所以我们首先要考虑——网怎么设计我们有两种网:1.分组交换 ;2.电路交换(电话)在很久很久以前,你记不记着,有个“拨号连...
2018-02-26 20:40:27 4807 1
原创 JVM调优初识
JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数。代大小调优最关键参数:-Xms、 -Xmx 、-Xmn 、-XX:SurvivorRatio、-XX:MaxTenuringThreshold、-XX:PermSize、-XX:MaxPermSi...
2018-02-25 19:40:40 367
原创 java工程师小结2
多线程 锁 : 记住多线程的状态转换图。。。。 http://www.importnew.com/21089.html 多线程:一个应用程序有多条执行路径 进程:正在执行的应用程序 线程:进程的执行单元,执行路径 单线程:一个应用程序只有一条执行路径 多线程:一个应用程序有多条执行路径 多进程的意义? 提高CPU的使用率 多线程的意义? 提高应用程序的使用率 什么是...
2018-02-25 19:29:12 385
原创 java工程师小结1
https://www.cnblogs.com/signheart/p/acde4d7ebebb6a6ead403e312af0c76b.htmlhttp://blog.csdn.net/baidu_37464759/article/details/77683588http://blog.csdn.net/hhh594521/article/details/72829487https://www....
2018-02-25 19:22:32 1203
原创 java工程师面试题小结
编译型语言解释型语言?动态类型语言,静态类型语言?动态语言静态语言?强类型语言弱类型语言?Java是什么样的计算机语言?什么是变量?机制Java平台无关性?jvmJava四大特性?抽象 继承 封装 多态 重点是多态C语言数组和java数组的区别? 内存图解释 一位数组 二维数组 对象数组 结合代码?Java里面的引用机制?C语言里面的指针? c++里面的引用? 这里面可以谈谈基本类型 引用数据...
2018-02-25 19:18:49 363
原创 对程序员以及目前生活的思考
2018年2月3号在我之前从学校毅然来到老姐这边,来到杭州这边在姐夫对简历的指导下在我慢慢好好对简历进行点对点复习和学习的过程中在我第一次电面失败后在我接下来成功拿到一个offer后在我继续学习的过程中我偶然看到关于30岁的博主对程序员以及未来生活的思考我自己也开始学到了很多到今天刚好就差几个小时就是一个月时间我期间有过紧张,有过不适,有过郁闷,有过释压。。
2018-02-03 20:00:08 316
原创 第一次面试
今天是第一次面试,拿到了一个offer,老实说,自己很是幸运了,其实面试总结,就我这一次来说,好像要总结的东西多,好像也不多,我一直想怎么样子去写,是写的多一点好呢,还是分点记录就好。。。 之前有一次电面,这才算是真的第一次面试,而且那么突然,我来不及准备什么,基本上什么都没答上来,原因有几个:1.自己准备不够充分,之前大半年考研去了,结果呢,考研准备也不好。2.没有经验,紧张。所
2018-01-30 21:37:52 842
转载 java单例模式转载
概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、
2017-05-06 13:37:27 394
转载 servlet&jsp经典总结
本文转自http://blog.csdn.net/zhu_xun/article/details/16897223 如今,通用的浏览器取代了个性化的客户端,HTTP协议取代了个性化的协议,通用的ServerApp(Web服务器)简化了服务器端的开发。1、软件的三种架构(了解)(1)主机、终端a,特点:主机负责处理所有的业务逻辑,终端只提供操作界面。b,优点:可靠、I/O处
2017-03-15 19:23:22 3898
转载 c语言深度学习转载
本文转自http://blog.csdn.net/lemonwxj/article/details/513731761、 什么是定义,什么是声明? 定义:编译器创建一个对象,并为这个对象分配一块内存,给它取上一个名字。 声明:1>告诉编译器这个名字已经已经分配到一块内存上了 2>告诉编译器这个名字已经被预定了,别的地方不能再用它来作为变量名或对象名。2、 auto:
2017-03-13 20:36:00 3129
原创 java疯狂总结2
/*单例类:保证封装性良好:private修饰类成员变量就是指只能够创建一个实例的类,怎么做到这一点:也就是说这个构造器是只能够用一次,用private修饰这个构造器,这个就可以防止其他类来访问这个类的构造器,提供一个public方法,让外部来访问这个类的成员因为只创建一个对象,所以通过判断这个对象是否已经存在null要求:写一个只能创建一个学生对象的学生类。
2016-07-24 10:16:54 1967
原创 疯狂java的基本总结
jdk下的路径:bin: 该路径存放了jdk的各种工具命令,常用的java javac命令就在这里面bin目录绝大部分是包装了lib路径下的tools.jar文件里的工具类db: 该路径是Java DB的安装路径 databaseinclude:该路径是一些平台特定的头文件jre: Java程序运行所需的jre环境lib: 存放jdk工具
2016-07-23 10:19:40 2468
JDK 8.0 EN API.chm
2016-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人