选择
顺序存储结构-->数组结构。访问结点可以通过下标进行。增加节点需要移动数据。
C
D
出B 栈里有AB 容量为2 出D 栈里有 ACD 容量是3 出C 栈里有 AC 容量是2
出F 栈里有AEF 容量为3 出E 栈里有AE 容量是2 出A 栈里有A 容量是1
说的花里胡哨的 就是求队列的目前长度,因为是循环队列,队头队尾都可以入队列,因为队列要少存一个,不可能存在%N==0的情况。
度:节点有几个子节点,就有几个度。树的度:树内节点度最大的值。
左右子树不相同的二叉树,左右子树交换是另一棵二叉树。
平衡二叉树会旋转!!!
画画就行 A
数字分析法 除余法 平方取中法 是映射的方法 不是解决冲突的方法
注意排完一趟,一定有一个值左边全是比他小的,右边全是比他大的。
个人理解:就按顺序排好,一定至少有两个数在它该在的位置上。
编程
反转字符串
自己实现一个Reverse函数就行
公共子串计算
#include <vector>
using namespace std;
int main()
{
string s1,s2;
getline(cin,s1);
getline(cin,s2);
int n=s1.size();
int m=s2.size();
vector<vector<int>>dp(n,vector<int>(m,0));//n*m的矩阵
int res=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(s2[j]==s1[i])
{
if(i>=1 && j>=1)
{
dp[i][j]=dp[i-1][j-1]+1;
}
else
{
dp[i][j]=1;
}
res=dp[i][j]>res?dp[i][j]:res;
}
}
}
cout<<res<<endl;
return 0;
}