当前位置: 首页 > news >正文

开发网站的基本过程抖音运营方案详细

开发网站的基本过程,抖音运营方案详细,平台型网站制作,网络公司业务范围一、二叉树的定义 二叉树是 n( n 0 ) 个结点组成的有限集合#xff0c;这个集合要么是空集#xff08;当 n 等于 0 时#xff09;#xff0c;要么是由一个根结点和两棵互不相交的二叉树组成。其中这两棵互不相交的二叉树被称为根结点的左子树和右子树。 如图所示 0 ) 个结点组成的有限集合这个集合要么是空集当 n 等于 0 时要么是由一个根结点和两棵互不相交的二叉树组成。其中这两棵互不相交的二叉树被称为根结点的左子树和右子树。 如图所示2 是 1 的左子树3 是 1 的右子树同时4 和 5 分别是 2 的左右子树6 和 7 分别是 3 的左右子树。 二、二叉树的特点 二叉树是一种树它有如下几个特征 1每个结点最多二棵子树即每个结点的孩子结点个数为 0、1、2。 2这两棵子树是有顺序的分别叫左子树 和 右子树就像左手和右手一样是不能颠倒的。 3如果只有一棵子树的情况也需要区分顺序如图所示 b 为 a 的左子树 c 为 a 的右子树 三、特殊二叉树 1、斜树 所有结点都只有左子树的二叉树被称为左斜树像这样 所有结点都只有右子树的二叉树被称为右斜树像这样 斜树有点类似线性表所以线性表可以理解为一种特殊形式的树。 2、满二叉树 对于一棵二叉树如果它的所有根结点和内部结点都存在左右子树且所有叶子结点都在同一层这样的树就是满二叉树像这样 满二叉树有如下几个特点 1叶子结点一定在最后一层 2非叶子结点的度为 2 3深度相同的二叉树中满二叉树的结点个数最多为 2^h-1其中 h 代表树的深度 3、完全二叉树 对一棵具有 n 个结点的二叉树按照层序进行编号如果编号 i 的结点和同样深度的满二叉树中的编号 i 的结点在二叉树中位置完全相同则被称为 完全二叉树。 满二叉树一定是完全二叉树而完全二叉树则不一定是满二叉树完全二叉树有如下几个特点 1叶子结点只能出现在最下面两层 2最下层的叶子结点一定是集中在左边的连续位置倒数第二层如果有叶子结点一定集中在右边的连续位置 3如果某个结点度为 1则只有左子树即 不存在只有右子树 的情况 4同样结点数的二叉树完全二叉树的深度最小 如下图所示就不是一棵完全二叉树因为 5 号结点没有右子树但是 6 号结点是有左子树的不满足上述第 2 点。 四、二叉树的性质 以下性质对理解二叉树有很好的帮助可以尝试自行证明。或许在后续遇到贪心相关问题时需要用到这些证明。 1二叉树的第 ii 1层上最多 2^(i-1) 个结点 2深度为 h 的二叉树至多 2^h - 1 个结点 3n 个结点的完全二叉树的深度为 floor(log2n) 1其中 floor(x) 代表对 x 取下整 五、二叉树的顺序存储 二叉树的顺序存储就是指利用顺序表对二叉树进行存储。结点的存储位置即顺序表的索引能够体现结点之间的逻辑关系比如父结点和孩子结点之间的关系左右兄弟结点之间的关系 等等。 1、完全二叉树 来看一棵完全二叉树我们对它进行如下存储 编号代表了顺序表索引的绝对位置映射后如下 这里为了方便我们把顺序表索引为 0 的位置给留空了。 这样一来当知道某个结点在顺序表中的索引 x就可以知道它左右儿子的索引分别为 2x 和 2x1。反之当知道某个结点的索引 x也能知道它父结点的索引为 floor(x/2)。 2、非完全二叉树 对于非完全二叉树只需要将对应不存在的结点设置为空即可 编号代表了顺序表索引的绝对位置映射后如下 3、稀疏二叉树 对于较为稀疏的二叉树就会有如下情况出现。这时候如果用这种方式进行存储就比较浪费内存了 编号代表了顺序表索引的绝对位置映射后如下 下标0123456789101112data-abcd--gh---- 这种情况下为了提升内存利用率我们可以采用链表进行存储。 六、二叉树的链式存储 二叉树每个结点至多有两个孩子结点所以对于每个结点设置一个 数据域data 和 两个 指针域left 和 right 即可。指针域 分别指向 左孩子结点 和 右孩子结点。 七、二叉树的遍历概念 二叉树的遍历是指从根结点出发按照某种次序依次访问二叉树中的所有结点使得每个结点访问一次且仅被访问一次。 对于线性表的遍历要么从头到尾要么从尾到头遍历方式较为单纯。但是树不一样它的每个结点都有可能有两个孩子结点所以遍历的顺序面临着不同的选择。 二叉树的常用遍历方法有以下四种前序遍历、中序遍历、后序遍历、层序遍历。 下标0123456789101112data-abcd-efgh--i 八、二叉树的前序遍历 如果二叉树为空则直接返回否则先访问根结点再递归前序遍历左子树再递归前序遍历右子树。前序遍历的结果如下abdghcefi 九、二叉树的中序遍历 如果二叉树为空则直接返回否则先递归中序遍历左子树再访问根结点再递归中序遍历右子树。中序遍历的结果如下gdhbaecif。 十、二叉树的后序遍历 如果二叉树为空则直接返回否则先递归后遍历左子树再递归后序遍历右子树再访问根结点。后序遍历的结果如下ghdbeifca。 十一、二叉树的层序遍历 如果二叉树为空直接返回否则依次从树的第一层开始从上至下逐层遍历在同一层中按从左到右的顺序对结点逐个访问。图中二叉树层序遍历的结果为abcdefghi。 一、二叉树结点定义 #include iostreamusing namespace std;template typename T struct TreeNode {T val; // (1)TreeNode * left; // (2)TreeNode * right; // (3)TreeNode(): val(0), left(NULL), right(NULL) {} // (4)TreeNode(T x): val(x), left(NULL), right(NULL) {} // (5)}; (1) 定义了一个类型为 T 的成员变量 val用于存储树节点的值。 (2) 定义了一个指向 TreeNode 类型的指针成员变量 left用于存储左子结点的指针。 (3) 定义了一个指向 TreeNode 类型的指针成员变量 right用于存储右子结点的指针。 (4) 定义了一个无参的构造函数在创建树节点时将 val、left 和 right 都初始化为 NULL并将 val 的值设置为 0。 (5) 定义了一个带参的构造函数在创建树节点时将传入的参数赋值给 val并将 left 和 right 都初始化为 NULL。 二、二叉树类的定义 template typename T class Tree {private:TreeNode T * nodes;TreeNode T * root;size_t nodeSize;TreeNode T * Create(T a[], int size, int nodeId, T nullNode); // (1)void visit(TreeNode T * node); // (2)void preOrder(TreeNode T * node); // (3)void inOrder(TreeNode T * node); // (4)void postOrder(TreeNode T * node); // (5)public:Tree(); // (6)Tree(int maxNodes); // (7)~Tree(); // (8)TreeNode T * GetTreeNode(int id); // (9)void CreateTree(T a[], int size, T nullNode); // (10)void preOrderTraversal(); // (11)void inOrderTraversal(); // (12)void postOrderTraversal(); // (13)}; (1) 这是一个模板函数声明用于创建一个具有类型为 T 的树是用于递归调用的。 (2) 这是一个成员函数声明用于访问树结点这里的实现就是打印结点的值。 (3) 这是一个成员函数声明用于前序遍历树结点。 (4) 这是一个成员函数声明用于中序遍历树结点。 (5) 这是一个成员函数声明用于后序遍历树结点。 (6) 这是构造函数声明用于创建树结点池。 (7) 这是构造函数声明用于创建一个具有最大结点数为 maxNodes 的树。 (8) 这是析构函数声明用于销毁树对象并释放内存。 (9) 这是一个成员函数声明用于获取指定编号的树结点。 (10) 这是一个成员函数声明用于创建树。 (11) 这是一个成员函数声明用于执行前序遍历。 (12) 这是一个成员函数声明用于执行中序遍历。 (13) 这是一个成员函数声明用于执行后序遍历。 三、二叉树的创建 template typename T Tree T ::Tree() {nodeSize 100001;nodes new TreeNode T [nodeSize];}template typename T Tree T ::Tree(int maxNodes) {nodeSize maxNodes;nodes new TreeNode T [nodeSize];} 这是两个不同参数的 Tree 的构造函数的实现用来生成树的结点池。 四、二叉树的销毁 templatetypename TTreeT::~Tree() {delete[] nodes;} 当树销毁的时候利用 delete 来清理结点池的内存空间。 五、获取二叉树的结点 templatetypename TTreeNodeT* TreeT::GetTreeNode(int id) {return nodes[id];} 通过 id 在 nodes 数组中索引通过 O(1) 的时间复杂度内快速找到对应的树结点然后再取地址并返回就得到了 id 对应的树结点的地址。 六、访问二叉树的结点 templatetypename Tvoid TreeT::visit(TreeNodeT *node) {cout node-val;} 用于访问传入的二叉树结点 node为了体现二叉树的遍历所以这里的实现是输出它的值。 七、二叉树的初始化 template typename T TreeNode T * Tree T ::Create(T a[], int size, int nodeId, T nullNode) {if (nodeId size || a[nodeId] nullNode) {return NULL; // (1)}TreeNode T * nowNode GetTreeNode(nodeId); // (2)nowNode - val a[nodeId]; // (3)nowNode - left Create(a, size, nodeId * 2, nullNode); // (4)nowNode - right Create(a, size, nodeId * 2 1, nullNode); // (5)return nowNode; // (6)}template typename T void Tree T ::CreateTree(T a[], int size, T nullNode) {root Create(a, size, 1, nullNode); // (7)} (1) 如果树结点编号 nodeId 大于等于数组大小 size或者数组中编号为 nodeId 的元素的值等于空节点值 nullNode则返回 NULL 表示创建一颗空树。 (2) 通过调用 GetTreeNode 方法获取编号为 nodeId 的树结点。 (3) 将数组中编号为 nodeId 的元素的值赋给当前树结点。 (4) 递归调用 Create 方法创建当前节点的左子结点其中 nodeId 乘以 2 作为左子结点的编号。 (5) 递归调用 Create 方法创建当前节点的右子结点其中 nodeId 乘以 2 加 1 作为右子结点的编号。 (6) 返回创建成功的树结点。 (7) 将根结点的指针设置为通过调用 Create 方法创建的树结点。 八、二叉树的前序遍历 template typename T void Tree T ::preOrder(TreeNode T * node) {if (node) {visit(node); // (1)preOrder(node - left); // (2)preOrder(node - right); // (3)}}template typename T void Tree T ::preOrderTraversal() {preOrder(root); // (4)} (1) 调用 visit 函数访问当前树节点。 (2) 递归调用 preOrder 方法遍历当前节点的左子树。 (3) 递归调用 preOrder 方法遍历当前节点的右子树。 (4) 调用 preOrder 方法遍历根节点即开始树的前序遍历。 九、二叉树的中序遍历 template typename T void Tree T ::inOrder(TreeNode T * node) {if (node) {inOrder(node - left); // (1)visit(node); // (2)inOrder(node - right); // (3)}}template typename T void Tree T ::inOrderTraversal() {inOrder(root); // (4)} (1) 递归调用 inOrder 函数遍历当前节点的左子树。 (2) 调用 visit 函数访问当前树节点。 (3) 递归调用 inOrder 函数遍历当前节点的右子树。 (4) 调用 inOrder 函数遍历根节点即开始树的中序遍历。 十、二叉树的后序遍历 template typename T void Tree T ::postOrder(TreeNode T * node) {if (node) {postOrder(node - left); // (1)postOrder(node - right); // (2)visit(node); // (3)}}template typename T void Tree T ::postOrderTraversal() {postOrder(root); // (4)} (1) 递归调用 postOrder 函数遍历当前节点的左子树。 (2) 递归调用 postOrder 函数遍历当前节点的右子树。 (3) 调用 visit 函数访问当前树节点。 (4) 调用 postOrder 函数遍历根节点即开始树的后序遍历。 十一、二叉树的完整源码 #include iostreamusing namespace std;template typename T struct TreeNode {T val;TreeNode * left;TreeNode * right;TreeNode(): val(0), left(NULL), right(NULL) {}TreeNode(T x): val(x), left(NULL), right(NULL) {}};template typename T class Tree {private:TreeNode T * nodes;TreeNode T * root;size_t nodeSize;TreeNode T * Create(T a[], int size, int nodeId, T nullNode);void visit(TreeNode T * node);void preOrder(TreeNode T * node);void inOrder(TreeNode T * node);void postOrder(TreeNode T * node);public:Tree();Tree(int maxNodes);~Tree();TreeNode T * GetTreeNode(int id);void CreateTree(T a[], int size, T nullNode);void preOrderTraversal();void inOrderTraversal();void postOrderTraversal();};template typename T Tree T ::Tree() {nodeSize 100001;nodes new TreeNode T [nodeSize];}template typename T Tree T ::Tree(int maxNodes) {nodeSize maxNodes;nodes new TreeNode T [nodeSize];}template typename T Tree T ::~Tree() {delete[] nodes;}template typename T TreeNode T * Tree T ::GetTreeNode(int id) {return nodes[id];}template typename T void Tree T ::visit(TreeNode T * node) {cout node - val;}template typename T TreeNode T * Tree T ::Create(T a[], int size, int nodeId, T nullNode) {if (nodeId size || a[nodeId] nullNode) {return NULL;}TreeNode T * nowNode GetTreeNode(nodeId);nowNode - val a[nodeId];nowNode - left Create(a, size, nodeId * 2, nullNode);nowNode - right Create(a, size, nodeId * 2 1, nullNode);return nowNode;}template typename T void Tree T ::CreateTree(T a[], int size, T nullNode) {root Create(a, size, 1, nullNode);}template typename T void Tree T ::preOrder(TreeNode T * node) {if (node) {visit(node);preOrder(node - left);preOrder(node - right);}}template typename T void Tree T ::preOrderTraversal() {preOrder(root);}template typename T void Tree T ::inOrder(TreeNode T * node) {if (node) {inOrder(node - left);visit(node);inOrder(node - right);}}template typename T void Tree T ::inOrderTraversal() {inOrder(root);}template typename T void Tree T ::postOrder(TreeNode T * node) {if (node) {postOrder(node - left);postOrder(node - right);visit(node);}}template typename T void Tree T ::postOrderTraversal() {postOrder(root);}int main(){const char nullNpde -;char a[15] {nullNpde,a,b,c,d,nullNpde,e,f,g,h,nullNpde,nullNpde,nullNpde,nullNpde,i};Tree char T(15);T.CreateTree(a, 15, nullNpde);T.preOrderTraversal();cout endl;T.inOrderTraversal();cout endl;T.postOrderTraversal();cout endl;return 0;} 题集 1. 单值二叉树 ​ 2. 完全二叉树的节点个数 3. ​二叉树的前序遍历 ​ 4. ​二叉树的中序遍历 ​ 5. ​二叉树的后序遍历 ​ 6. 翻转二叉树 ​ 7. 从根到叶的二进制数之和 性质 单值二叉树 相同的树 对称二叉树 剑指 Offer 28. 对称的二叉树 二叉树的最大深度 剑指 Offer 55 - I. 二叉树的深度 二叉树的最小深度 完全二叉树的节点个数 二叉树的堂兄弟节点 另一棵树的子树 先序遍历 二叉树的前序遍历 找出克隆二叉树中的相同节点 二叉树展开为链表 二叉树的所有路径 从根到叶的二进制数之和 剑指 Offer II 045. 二叉树最底层最左边的值 剑指 Offer II 049. 从根节点到叶节点的路径数字之和 叶子相似的树 左叶子之和 路径总和 特定深度节点链表 最大二叉树 路径总和 II 统计二叉树中好节点的数目 中序遍历 二叉树的中序遍历 后序遍历 二叉树的后序遍历 二叉树的坡度 二叉树剪枝 剑指 Offer II 047. 二叉树剪枝 统计最高分的节点数目 层序遍历 二叉树的层序遍历 剑指 Offer 32 - I. 从上到下打印二叉树 最大层内元素和 剑指 Offer 32 - II. 从上到下打印二叉树 II 剑指 Offer 32 - III. 从上到下打印二叉树 III 二叉树的层序遍历 II 填充每个节点的下一个右侧节点指针 II 二叉树的层平均值 二叉树的锯齿形层序遍历 剑指 Offer II 045. 二叉树最底层最左边的值 找树左下角的值 剑指 Offer II 044. 二叉树每层的最大值 在每个树行中找最大值 二叉树的右视图 剑指 Offer II 046. 二叉树的右侧视图 在二叉树中分配硬币 构造 思维 合并二叉树 从前序与中序遍历序列构造二叉树 从中序与后序遍历序列构造二叉树 序列化和反序列化二叉搜索树 二叉树的序列化与反序列化 剑指 Offer 37. 序列化二叉树 剑指 Offer II 048. 序列化与反序列化二叉树 从先序遍历还原二叉树 LCA 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 剑指 Offer 68 - II. 二叉树的最近公共祖先 二叉搜索树的最近公共祖先 二叉树的最近公共祖先 首个共同祖先 具有所有最深节点的最小子树 最深叶节点的最近公共祖先 从二叉树一个节点到另一个节点每一步的方向 多低调性质里的第四题[剑指 Offer 28. 对称的二叉树]链接错了应该是(力扣 wian性质里的第六题[剑指 Offer 55 - I. 二叉树的深度]链接错了应该是力扣 多低调性质里的倒数第三题[完全二叉树的节点个数] 链接错了应该是(力扣 Ivor后序遍历的第3~4题二叉树剪枝、剑指offerII二叉树剪枝 链接错了应该是 力扣 、力扣 Ivor后序遍历的第五题统计最高分节点数目 链接错了应该是 力扣 多低调先序遍历里的第五题[1022. 从根到叶的二进制数之和]链接错了应该是力扣 多低调先序遍历里的第七题[剑指 Offer II 049. 从根节点到叶节点的路径数字之和]链接错了应该是力扣 多低调先序遍历里的第九题【404. 左叶子之和】链接错了应该是力扣 多低调先序遍历里的第十题【112. 路径总和】链接错了应该是力扣 多低调先序遍历里的倒数第二题【113. 路径总和 II】链接错了应该是力扣 低调先序遍历里的最后一题【1448. 统计二叉树中好节点的数目】链接错了应该是https://leetcode.cn/problems/count-good-nodes-in-b... 多低调中序遍历里的最后一题【94. 二叉树的中序遍历】链接错了应该是力扣 切糕子层序遍历里的第二题[剑指 Offer 32 - I. 从上到下打印二叉树]链接错了应该是. - 力扣LeetCode 切糕子层序遍历里的第九题[二叉树的锯齿形层序遍历]链接错了应该是. - 力扣LeetCode 切糕子层序遍历里的倒数第二题[剑指 Offer II 046. 二叉树的右视图]链接错了应该是. - 力扣LeetCode 切糕子构造 思维里的第四题[序列化和反序列化二叉搜索树]链接错了应该是(. - 力扣LeetCode 切糕子构造 思维里的倒数第一题[从先序遍历还原二叉树]链接错了应该是(. - 力扣LeetCode 切糕子LCA里的第一题[剑指 Offer 68 - I. 二叉搜索树的最近公共祖先]链接错了应该是. - 力扣LeetCode 切糕子LCA里的第三题[二叉搜索树的最近公共祖先]链接错了应该是. - 力扣LeetCode 切糕子LCA里的第四题[二叉树的最近公共祖先]链接错了应该是. - 力扣LeetCode 切糕子LCA里的倒数第三题[具有所有最深节点的最小子树]链接错了应该是. - 力扣LeetCode 切糕子LCA里的倒数第二题[最深叶节点的最近公共祖先]链接错了应该是. - 力扣LeetCode 切糕子LCA里的倒数第一题[从二叉树一个节点到另一个节点每一步的方向]链接错了应该是. - 力扣LeetCode
文章转载自:
http://www.morning.yrkdq.cn.gov.cn.yrkdq.cn
http://www.morning.pngdc.cn.gov.cn.pngdc.cn
http://www.morning.rxsgk.cn.gov.cn.rxsgk.cn
http://www.morning.zfhwm.cn.gov.cn.zfhwm.cn
http://www.morning.rqknq.cn.gov.cn.rqknq.cn
http://www.morning.tqrxm.cn.gov.cn.tqrxm.cn
http://www.morning.pctql.cn.gov.cn.pctql.cn
http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn
http://www.morning.cybch.cn.gov.cn.cybch.cn
http://www.morning.yrnrr.cn.gov.cn.yrnrr.cn
http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn
http://www.morning.ypklb.cn.gov.cn.ypklb.cn
http://www.morning.csdgt.cn.gov.cn.csdgt.cn
http://www.morning.wylpy.cn.gov.cn.wylpy.cn
http://www.morning.wqhlj.cn.gov.cn.wqhlj.cn
http://www.morning.qmwzz.cn.gov.cn.qmwzz.cn
http://www.morning.crsnb.cn.gov.cn.crsnb.cn
http://www.morning.stbfy.cn.gov.cn.stbfy.cn
http://www.morning.mlcwl.cn.gov.cn.mlcwl.cn
http://www.morning.lgxzj.cn.gov.cn.lgxzj.cn
http://www.morning.rjrz.cn.gov.cn.rjrz.cn
http://www.morning.zrdhd.cn.gov.cn.zrdhd.cn
http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn
http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn
http://www.morning.mfbcs.cn.gov.cn.mfbcs.cn
http://www.morning.fhqdb.cn.gov.cn.fhqdb.cn
http://www.morning.xlpdm.cn.gov.cn.xlpdm.cn
http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn
http://www.morning.zmbzl.cn.gov.cn.zmbzl.cn
http://www.morning.lwrcg.cn.gov.cn.lwrcg.cn
http://www.morning.qykxj.cn.gov.cn.qykxj.cn
http://www.morning.pnmnl.cn.gov.cn.pnmnl.cn
http://www.morning.hxmqb.cn.gov.cn.hxmqb.cn
http://www.morning.errnull.com.gov.cn.errnull.com
http://www.morning.rmkyb.cn.gov.cn.rmkyb.cn
http://www.morning.nflpk.cn.gov.cn.nflpk.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.jqsyp.cn.gov.cn.jqsyp.cn
http://www.morning.lwmzp.cn.gov.cn.lwmzp.cn
http://www.morning.wwnb.cn.gov.cn.wwnb.cn
http://www.morning.bxnrx.cn.gov.cn.bxnrx.cn
http://www.morning.szzxqc.com.gov.cn.szzxqc.com
http://www.morning.ycmpk.cn.gov.cn.ycmpk.cn
http://www.morning.nlnmy.cn.gov.cn.nlnmy.cn
http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn
http://www.morning.nlrp.cn.gov.cn.nlrp.cn
http://www.morning.fkgqn.cn.gov.cn.fkgqn.cn
http://www.morning.hmpxn.cn.gov.cn.hmpxn.cn
http://www.morning.pwbps.cn.gov.cn.pwbps.cn
http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn
http://www.morning.nsppc.cn.gov.cn.nsppc.cn
http://www.morning.mgbsp.cn.gov.cn.mgbsp.cn
http://www.morning.wjrtg.cn.gov.cn.wjrtg.cn
http://www.morning.qbwbs.cn.gov.cn.qbwbs.cn
http://www.morning.rrqgf.cn.gov.cn.rrqgf.cn
http://www.morning.bljcb.cn.gov.cn.bljcb.cn
http://www.morning.kmbgl.cn.gov.cn.kmbgl.cn
http://www.morning.nzmhk.cn.gov.cn.nzmhk.cn
http://www.morning.kczkq.cn.gov.cn.kczkq.cn
http://www.morning.drspc.cn.gov.cn.drspc.cn
http://www.morning.pudejun.com.gov.cn.pudejun.com
http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn
http://www.morning.rgxf.cn.gov.cn.rgxf.cn
http://www.morning.bjndc.com.gov.cn.bjndc.com
http://www.morning.lwxsy.cn.gov.cn.lwxsy.cn
http://www.morning.gxcit.com.gov.cn.gxcit.com
http://www.morning.itvsee.com.gov.cn.itvsee.com
http://www.morning.lzqdl.cn.gov.cn.lzqdl.cn
http://www.morning.gcthj.cn.gov.cn.gcthj.cn
http://www.morning.ktyww.cn.gov.cn.ktyww.cn
http://www.morning.jtnph.cn.gov.cn.jtnph.cn
http://www.morning.grxsc.cn.gov.cn.grxsc.cn
http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn
http://www.morning.tktcr.cn.gov.cn.tktcr.cn
http://www.morning.mpyry.cn.gov.cn.mpyry.cn
http://www.morning.wlggr.cn.gov.cn.wlggr.cn
http://www.morning.pcbfl.cn.gov.cn.pcbfl.cn
http://www.morning.qzfjl.cn.gov.cn.qzfjl.cn
http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com
http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn
http://www.tj-hxxt.cn/news/279487.html

相关文章:

  • 手机网站被做跳转烟台做网站建设电话
  • 服装公司网站建设策划和wordpress类似
  • 网站维护一般怎么做优对 网站开发
  • 广元建设银行网站网站设计公司建设网站
  • 影视网站建设平台黄江网站仿做
  • 个人网站建设法律规定百度智慧团建登录入口
  • 商标网站建设昆明网站建设哪个公司好
  • 湖南省建设局网站南昌定制网站公司
  • 如何提高网站的转化率百度一下网址大全
  • 遵义制作网站肃宁做网站
  • 想做一个自己设计公司的网站怎么做的互联网公司是干啥的
  • 攻击jsp网站教育网站开发报告
  • 企业网站的信息内容包括什么帮别人备案网站
  • 站内内容投放计划WordPress采集更新文章
  • 网站iis安全配置广州建筑东莞分公司
  • 做信息图的网站怎么建设微网站
  • 清远企业网站排名东莞网站建设三合一
  • 韩漫网站建设简历模板简单免费
  • dedecms妇科医院wap网站模板 v1.0wordpress管理面板
  • 盘锦威旺做网站建设wordpress采集电影资源
  • 手机最全的网站百度不让访问危险网站怎么办
  • 公司刚做网站在那里找图片做德维尔全屋定制官方网站
  • 黑彩网站怎么建设自己做网站翻译服务器 - 添加网站
  • discuz网站伪静态设置福州企业自助建站
  • 展示型网站案例适合40岁女人的培训班
  • 设计好用的网站广州网站快速优化排名
  • 长春设计网站自己怎么做团购网站首页
  • 传奇网站发布网长治专业做网站
  • 网站推广的常用方法最新企业网站模板
  • 网站开发 站长统计重庆seo优化公司