图论算法

问题1、图的邻接矩阵表示法#define MAXSIZE 100 //定义最大顶点个数 typedef char VertexType; //顶点的类型 struct Graph { VertexType Vertex[MAXSIZE]; //顶点 int AdjM...

2016-09-05 14:38:24

阅读数 472

评论数 0

数组求和相关算法

问题1、输入一个数组,在数组中查找两个数,使得它们的和正好是targetvoid FindTwoSum(int a[],int n,int target){ sort(a,a+n); int sum=0; int i=0; int j=n-1; while(...

2016-09-04 18:54:21

阅读数 1601

评论数 0

剑指offer-动态规划算法

问题1、连续子数组的最大和//给定数组{1,-2,3,10,-4,7,2,-5},则连续子数组的的最大和范围为{3,10,-4,7,2} //解法一、直接写 int FindGreatestSumOfSubArray(int a[],int n){ int sum=0; int t...

2016-09-04 15:33:58

阅读数 301

评论数 0

数组相关算法

问题1、打印1到最大的n位数//解法一、直接求出n位数的最大值,然后直接从1开始打印 //缺陷:可能会溢出,大数问题 void Print1toMax(int n){ int num=1; while(n>0){ num*=10; n--; ...

2016-09-03 21:10:03

阅读数 161

评论数 0

剑指offer-位运算

在对unsigned类型的无符号值进行右移位时,左边空出的部分用0补齐,而对于带符号值移位左边用符号位补齐。 问题1.实现函数getbits(unsigned x,int p,int n),返回x中从右边数第p位开始向右数n位的字段。例如get(x,4,3),返回x中第4,3,2位的值.uns...

2016-09-03 17:30:20

阅读数 142

评论数 0

斐波那契数组的算法应用总结

1、爬楼梯问题:青蛙可以跳上一级台阶,也可以跳上两级,求该青蛙跳上一个n级的台阶共有多少种跳法。 思路:没有台阶是0种,1级台阶是1种,2级台阶是3种。把n级台阶的跳法看成是n的函数f(n)。第一次跳的时候又两种选择:一次是跳一级,此时的跳法是前面n-1级台阶的跳法数目f(n-1);另一种选择是...

2016-09-03 15:45:35

阅读数 735

评论数 0

剑指offer-递归和循环

递归虽然比较简洁,但他同时也有显著的缺点。递归由于是函数调用自身,而函数调用是有时间和空间的消耗的,每一次函数调用都需要在内存栈中分配空间以保存参数、返回地址及临时变量,而且往栈里压入数据和弹出数据都需要时间。 1、 斐波那契数列 0,1,1,2,3,5,8,13 …//递归 缺...

2016-09-03 15:13:37

阅读数 92

评论数 0

剑指offer-排序算法

十大排序算法自主手写代码: 1、冒泡排序 时间O(N^2),空间O(1),稳定,数据有序效果越好void BubbleSort(int a[],int n){ int flag=1; for(int i=1;i<n&&flag;i++)...

2016-09-01 12:37:56

阅读数 200

评论数 0

剑指offer-查找

问题1、二分查找//注意:二分查找的前提是数组基本有序 int BinarySearch(int a[],int low,int high,int key){ while(low<=high){ int mid=low+(high-low)/2; if...

2016-08-30 19:48:02

阅读数 139

评论数 0

剑指offer-队列和栈操作

问题1、两个栈实现队列class Queue { public: //入队 void Push(const int value){ s1.push(value); } //出队 int Pop(){ while (s1.si...

2016-08-30 17:55:39

阅读数 116

评论数 0

剑指offer-树

#include<iostream> #include<algorithm> #include<queue> #include<stack> using namespace std; struct BinaryTreeNode { int d...

2016-08-30 13:09:55

阅读数 147

评论数 0

剑指offer-链表

单向链表的结构定义typedef int DataType; struct ListNode { DataType value; ListNode *next; }问题1、往链表的末尾添加一个结点//给定头结点,往末尾插入一个结点 void InsertNode(ListNode...

2016-08-29 22:23:34

阅读数 348

评论数 0

C++ 内存对齐问题

C和C++不同:在C中struct/class不占有内存,C++中,struct/class通常占有1byte,原因是编译器强 行在里面放了一个char,这样可使这个class的不同实例化在内存中分配到独一无二的地址 1、最基本的内存对齐情况 首先确定最大类型的大小-...

2016-08-29 14:57:57

阅读数 233

评论数 0

浅谈MFC-1

MFC(微软基础类)是一种应用程序框架,定义了应用程序的一般处理流程,用于对Windows API实现基于面向对象技术的封装,隐藏在Windows下使用C++编程的大量内部细节。在开发应用程序的过程中,编程人员可以通过对类库中已有类的继承,生成功能更加强大的类库以供自己所用。 1、MFC的类层次...

2016-08-22 22:40:13

阅读数 408

评论数 0

操作系统-段式管理

1、段式管理的原理: 分区式管理和页式管理时的进程地址空间结构都是线性的,这要求对源地址进程程序进行编译、链接时,把源程序中的主程序、子程序、数据区等按线性空间的一维地址顺序排列起来。这使得不同作业或进程之间共享共有子程序和数据变得非常困难。 再者,从链接的角度看,分区管理和页式管理只能采用静...

2016-08-22 11:53:38

阅读数 912

评论数 0

操作系统-存储管理

存储器是由内存和外存组成。内存由顺序编址的块组成,每块包含相应的物理单元。CPU要启动相应的输入输出设备后才能使外存与内存交换信息。 1、虚拟存储器 存储管理系统吧进程中那些不经常被访问的程序段和数据放入外存中,待需要访问他们时再将他们调入内存。对于那些一部分数据和程序段在内存而另一部分在外存...

2016-08-21 22:17:22

阅读数 1151

评论数 0

操作系统-处理机调度

处理机调度分为4级: 作业调度-》交换调度-》进程调度-》线程调度 1、衡量调度策略的指标 (1)周转时间 周转时间=完成时间-提交时间; (2)带权周转时间 带权周转时间=作业周转时间/作业执行时间 (3)吞吐...

2016-08-21 20:47:33

阅读数 506

评论数 0

操作系统-进程管理

进程:用来描述计算机程序的执行过程和作为资源分配的基本单位,反映操作系统的执行并发、资源共享以及用户随机的特点。 1、进程和程序的区别 进程是一个动态概念,而程序则是一个静态概念。程序时指令的有序集合 进程具有并发特性(独立性和异步性),而程序没有 不同的进程可以包含同一程序,只是该程序对应的数...

2016-08-21 20:28:32

阅读数 128

评论数 0

计算机网络问题总结

1、HTTP协议和HTTPS协议有什么区别 解: (1)https协议需要到ca申请证书,一般免费证书很少,需要交费 (2)http是超文本传输协议,信息是明文传输,https则是具有安全性的SSL加密传输协议 (3)http和https使用的是完全不同的连接方式,用的端口...

2016-08-20 20:16:47

阅读数 260

评论数 0

计算机网络-应用层

运输层为应用进程提供了端到端的通信服务。但不同的网络应用进程之间,还需要有不同的通信规则。因此在运输层协议之上,还需要有应用层协议。应用进程之间的通信必须遵守严格的规则。应用层的协议应当定义: 应用进程交换的报文类型,如请求报文和响应报文 各种报文类型的语法,报文中各个字段的详细描述 字段的语义,...

2016-08-20 19:32:14

阅读数 467

评论数 0

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