自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 平衡二叉树

#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <string.h>#define LH 1 //left high#define EH 0 //equal high#define RH -1 //right high#define TRUE 1#define FALSE 0typedef struct

2017-07-27 19:32:49 286

原创 二叉排序树

二叉排序树或者是空树,或者是具有系列性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值均小于他的根结点的值 若它的右子树不空,则右子树所有结点的值均大 于它的根节点 它的左右子数也分别为二叉排序树 目的:提高查找和插入删除关键字的速度#include <stdio.h>#include <stdlib.h>#define FALSE 0#define TRUE 1//二叉

2017-07-27 11:18:16 278

转载 只有五行的Floyd最短路径算法

我们来想一想,根据我们以往的经验,如果要让任意两点(例如从顶点a点到顶点b)之间的路程变短,只能引入第三个点(顶点k),并通过这个顶点k中转即a->k->b,才可能缩短原来从顶点a点到顶点b的路程。那么这个中转的顶点k是1~n中的哪个点呢?甚至有时候不只通过一个点,而是经过两个点或者更多点中转会更短,即a->k1->k2b->或者a->k1->k2…->k->i…->b。比如上图中从4号城市到3号

2017-07-26 10:24:02 469

转载 Dijkstra算法(单源最短路径)

Dijkstra算法(单源最短路径)                                                       Dijkstra算法(单源最短路径)      单源最短路径问题,即在图中求出给定顶点到其它任一顶点的最短路径。在弄清楚如何求算单源最短路径问题之前,必须弄清楚最短路径的最优子结构性质。一.最短路径的最优子结构性质   该

2017-07-26 10:06:15 453

原创 最小生成树——普利姆算法(prim)

这是摘抄自《大话数据结构》中的一句话,其实我是没看懂,但是看了代码,加上百度了之后,普利姆算法的步骤: 1、先假设之后一个节点,并同时把这些顶点的权值放在一个数组里,还有创建一个数组保存最小权值顶点的下标,找到这个节点边上的最小权值,这边的另一个节点为K 2、从节点K开始,再次寻找,把与k有关的权值放在一个数组里,若是比数组的值小就修改,同时修改下标的值,否则不改 3、重复2的步骤好吧,我也不

2017-07-25 13:09:24 1599

原创 下面有关继承、多态、组合的描述,说法错误的是?

下面有关继承、多态、组合的描述,说法错误的是?A、封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏 B、继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展 C、隐藏是指派生类中的函数把基类中相同名字的函数屏蔽掉了 D、覆盖是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同答案: BC解析: A

2017-07-25 10:10:58 2105

原创 广度(宽度)优先搜索:队列

上一章详细的写出了深度优先遍历的四种情况的程序: http://blog.csdn.net/zscfa/article/details/75947816这一次来详细说说广度优先遍历: 广度优先搜索类似于二叉树的层序遍历,它的基本思想就是:首先访问起始顶点v,接着由v出发,依次访问v的各个未访问过的邻接顶点w1,w2,…,wi,然后再依次访问w1,w2,…,wi的所有未被访问过的邻接顶点;再从这些

2017-07-25 00:37:56 1189

原创 图的深度优先遍历(递归、非递归;邻接表,邻接矩阵)

众所周知,图有经典的两种遍历方式:深度优先遍历和广度优先遍历 首先我们就来说说深度优先遍历,其他的不说了,直接上代码,分为递归个非递归的方式啊首先是递归的方式实现的,比较简单,考虑到存储结构由邻接矩阵和邻接表,有分为两种:一种是邻接矩阵存储的递归,简单点说就是用数组来存储;另一种是邻接表存储的,也就是说用链表的方式存储的一、递归 1、邻接矩阵:#include<stdio.h>#define

2017-07-23 19:59:55 24321 9

原创 下列有关静态成员函数的描述中,正确的是:

下列有关静态成员函数的描述中,正确的是: A、静态数据成员可以在类体内初始化 B、静态数据成员不可以被类对象调用 C、静态数据成员不受private控制符作用 D、静态数据成员可以直接用类名调用答案:DA,静态成员属于类,而不是属于某个特定的对象,它是由该类的所有对象共享的,因此不能在类的构造方法中初始化 B,静态成员属于该类所有对象公有,可以被类对象调用 C,静态成员收private的

2017-07-21 21:57:17 10174

原创 请问对一个排好序的数组进行查找,时间复杂度为()

请问对一个排好序的数组进行查找,时间复杂度为() A、O(n) B、O(lgn) C、O(nlgn) D、O(1)

2017-07-21 21:50:14 1987

转载 常用排序算法总结

目录冒泡排序   鸡尾酒排序   选择排序 插入排序 二分插入排序   希尔排序   归并排序 堆排序 快速排序  我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。  排序算法大体可分为两种:    一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。    另一种是非比较排序,时

2017-07-20 17:10:58 359

原创 用两个栈来实现一个队列,完成队列的Push和Pop操作。

题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { int data; if(stack2.empty()

2017-07-20 16:17:14 385

转载 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。

编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。 #include<stdio.h> #include<errno.h> #include<string.h> #include<stdlib.h> #include<pthread.h> #define

2017-07-20 11:25:15 552

原创 下面哪些调用转换支持可变长度参数

下面哪些调用转换支持可变长度参数 A、cdecl B、stdcall C、pascal D、fastcal答案:A__cdecl __fastcall与__stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall调用约定:函数的参数自右向左通

2017-07-20 09:30:58 679

原创 设计模式——单例模式

单例模式:一个类只生成一个实例对象。要从生成唯一一个实例,构造函数就要设为私有,一般有两种模式:一位饿汉式,只有在空的时候分配内存class Singleton{private: Singleton() {} static Singleton* instance;public: static Singlenton* getInstance() {

2017-07-19 10:59:26 208

原创 重载赋值运算符(c++)

String& String::operator=(const String &str){ if(this == &str)//判断是否为本身,是的话就返回 { return *this } delete []str_; str_ = NULL; int len = strlen(str.str_)+1; str_ = new

2017-07-19 10:21:09 431

原创 基于栈的非递归方法实现二叉树

#include<iostream>#include<vector>#include<stdlib.h>using namespace std;struct BiNode{ char data; struct BiNode *left; struct BiNode *right;};typedef struct BiNode Node;typedef Node* Li

2017-07-18 23:46:34 474 1

原创 用链表实现二叉树的实现(递归)

/*链表的递归方法实现二叉树*/#include<stdio.h>#include<stdlib.h>#include<string.h>struct BiNode{ char data; struct BiNode *lchild; struct BiNode *rchild;};typedef struct BiNode Node;typedef Node* L

2017-07-18 18:45:57 1135

原创 c++笔试面试题43-144问

43、面向对象的三个特征多态、封装、继承 44、C++语言的优缺点优点:c++是面向对象的程序设计,在高级语言中,处理运行速度最快,而且还兼容了c语言C++语言十分灵活,功能十分强大,它的优点在于性能和类层次结构设计C++十分严谨、精确和数理化,标志定义很细致C++语法思路层次分明、相呼应,语法结构是显示的,明确的 缺点:语言过度复杂和标准库的过度苍白

2017-07-18 10:33:31 528

原创 C语言———42道自整理面试题

1、C语言之父?丹尼斯里奇 2、C语言的特点?具有出色的可移植性,能够在多种不同的体系的软硬件平台运行具有简单紧凑,使用灵活的语法机制,能够直接访问硬件运行效率高 3、什么是库文件和库函数库文件:只能使用函数和变量,但是看不见函数和变量的实现库函数:只能使用函数,但是无法看到实现 4、动态库和静态库的区别静态库:编译速度慢,可执行文件体积大,代码

2017-07-13 19:11:24 446

socket.rar

1、客户端接受图片,服务器发送图片,建立TCP 连接 2、每次有客户端过来,服务器创建一个线程单独实现图片发送功能 3、最多5个客户端同时连接服务器,超过5个就会失败 4、服务器本地存储一张图片,在服务器处输入“start”之后,服务器就开始向在线的客户端发送图片 5、客户端收到图片之后,保存到一个目录中,目录名是年月日,文件名为时分秒

2019-07-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除