- 博客(14)
- 收藏
- 关注
原创 剑指offer题目分类
一、线性表1、数组面试题3:二维数组中的查找2、链表面试题5:从尾到头打印链表二、字符串面试题4:替换空格三、栈和队列面试题7:用两个栈实现队列四、树面试题6:重建二叉树五、查找和排序面试题8:旋转数组中的最小数字面试题9:斐波那契数列六、动态规划
2017-08-09 11:21:15
1571
原创 数据结构--------图
一、图的定义:1、基本定义 一个图G=(V,E)由顶点集V 和 边集E组成 ,G表示图,V表示图中顶点的集合,E表示图中边的集合 图中的数据元素为 顶点(vertex),并且不允许有空图即图中必须要有顶点 每一个点对(v,w),其中v w属于V。无向图中称为边;有向图中称为弧,表示变成;即无向图边用圆括号()表示,有向图边用尖括号 有时
2017-07-24 11:00:48
375
原创 C、C++内存管理
1、内存分配方式简介 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆:就是那些由 new分配的内存块,他们的释放编译器不去管,由我们的应用程序去
2017-07-15 15:13:52
213
原创 树中第一个公共祖先结点----解法
不能转载,只能放一个地址了http://blog.csdn.net/xyzbaihaiping/article/details/52122885
2017-07-12 16:37:36
217
原创 树的相关知识-------全面解决树的问题
1、树的相关知识树的度:结点拥有的子树数称为结点的度 度为0的结点称之为叶结点或终端结点;树的深度:从根结点开始,根结点所在层次为第一层,树中结点的最大层次称为树的深度或者高度;2、二叉树满二叉树:在二叉树中,如果所有的分支结点都存在左子树和右子树,并且所有的叶子节点都位于同一个层次,这样的二叉树为满二叉树3、完全二叉树对于一个树,
2017-07-02 18:44:26
906
原创 最长递增子序列的问题----两个经典题目:合唱队和Redraiment走法(简单动态规划)
这两个题目本质都是求最长递增子序列问题,本质解法都是动态规划:
2017-06-28 10:59:19
1252
原创 链表的相关知识
一、链表的创建(自己c++写的代码)#include#include#includeusing namespace std;struct ListNode { int m_nKey; ListNode *m_pNext;ListNode(int a) { m_nKey=a; m_pNext=NULL;
2017-06-19 21:20:56
250
原创 计算机网络---应用层概述
一、引言:1、下一层通信服务如何提供给相应的应用进程呢? 答案:通过应用层协议,其中每一个应用层协议都是为了解决某一类应用问题,而应用层就是规定应用进程在通信时所遵循的协议 应用层协议都是基于 客户/服务器 方式二、域名系统(DNS):1、应用层协议都会使用域名系统若整个互联网只使用一个域名服务器,则会负荷过大导致瘫痪,因此采用分布式域名系统DNS
2017-06-05 10:19:37
698
原创 计算机网络---TCP
TCP/IP体系中最重要的一层:运输层(1)运输层中最重要的两个协议:TCP协议 和 UDP协议 (2)两个主机的通信实际是两个主机 应用进程之间的通信 (3)运输层有一个非常重要的功能:复用 和 分用 (4)网络层和运输层之间有一个明显的差别:网络层 是为主机之间提供逻辑通信, 运输层 为应用进程之间提供端到端的逻辑通信
2017-06-05 10:15:01
467
原创 c++ string知识点总结
知识点储备1:问题: 如何将一个字符(char)转化为字符串( string ) ? 答案:直接转化的方法是没有的,只能通过数组来进行间接转化,代码例子如下: #include #include using namespace std; int main(){char ch1='a';char ch
2017-05-25 14:52:03
590
原创 4sum
算法思路:步骤一:判断数组中元素个数,然后对数组排序; 步骤二:遍历数组中任意的两个数,然后设置left,right标志,如果sum 步骤三:将sum==target的四个数构成的容器,存到vector> result 中; 步骤四:对容器中相同的元素进行去重:1)sort(result.begin(),result.end()); 使用函数sort 对它进行排序
2017-05-23 16:12:45
265
原创 3sum closet
算法思路:和3sum问题思路是一样滴,取一次数组中的值,然后设置left,right,夹逼准则,唯一区别就是需要设置一个参考值,就是找出和target距离绝对值最小的三个数的和int threeSumClosest(vector& nums, int target) { int diff=INT_MAX; int cv=target;
2017-05-23 09:40:21
257
原创 leetcode 3sum问题
算法思路:夹逼准则时间复杂度为O(n^2)class Solution {public: vector> threeSum(vector& nums) { vector> result; if(nums.size() return result; sort(nums.begin()
2017-05-22 17:04:45
199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人