- 博客(6)
- 收藏
- 关注
原创 二叉树遍历
根据二叉树的先序(后序)和中序转换为后序(先序)模板1.后序+中序->先序后序序列和中序序列可以划分成如下几部分从后序序列的尾部开始(即根节点),遍历中序序列,直到找到相同值。确定了根节点的在中序的下标后,即可得出左右子树两端的下标。设根节点在中序的下标为i,中序左子树的首尾坐标为(L2,i-1)中序右子树的首尾坐标为(i+1,R2)关键是确定后序左子树的根坐标,从中序可推断出右子树的长度为(R2-i)则左子树的根坐标为root-(R2-i)-1代码如下void pre(int
2021-04-10 10:43:03 109
原创 【Windows socket】基于TCP服务器端不可绑定端口的问题
基本函数Windows 下的 socket 程序依赖 Winsock.dll 或 ws2_32.dll,必须提前加载。这里使用#pragma命令,在编译时加载#pragma comment (lib, "ws2_32.lib")使用DLL之前,还需要调用 WSAStartup() 函数进行初始化WSAStartup() 函数函数原型int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);wVersionRequested 为
2020-10-19 22:38:27 787
原创 【进制转换应用】剑指offer题型归纳
基本知识1.按位与&相同位的数字只要有0则位0。2.按位或|相同位的数字只要有1则位13.按位异或^相同位的数字不同则为1****相同则为04.左移<<将运算数的二进制整体左移指定位数,低位用0补齐,将一个数左移一位扩大2倍,以此类推。5.右移>>将运算数的二进制整体右移指定位数,高位用0补齐,将一个数右移一位缩小2倍,以此类推。一、二进制中1的个数输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。二、不用加减乘除做加法写一个函
2020-08-22 09:37:03 120
原创 【回溯算法应用】剑指offer题型归纳
回溯算法基本思想**回溯法从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。这个开始结点就成为一个活结点,同时也成为当前的扩展结点。在当前的扩展结点处,搜索向纵深方向移至一个新结点。这个新结点就成为一个新的活结点,并成为当前扩展结点。如果在当前的扩展结点处不能再向纵深方向移动(处于边界),则当前扩展结点就成为死结点.此时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当前的扩展结点。回溯法即以这种工作方式递归地在解空间中搜索,直至找到所要求的解或解空间中已没有活结点时为止。运用
2020-08-02 10:36:46 143
原创 【层次遍历应用】剑指offer题型归纳
层次遍历代码模板/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: queue<TreeNode*> s;//定义一个队列记录将要访问的层次上的结点 void level(TreeNode *
2020-07-19 23:44:17 114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人