
数据结构
Forever_ZhangKe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构】二叉树的重构
问题描述:已知二叉树的先序和中序序列,然后还原该二叉树。(1)首先通过先序遍历找到首元素即为根节点。(2) 再通过中序遍历找到根节点的左边序列,即为左子树,根节点的右边即为右子树。(3)再对二叉树的左子树和右子树进行递归,递归到叶子结点,递归结束。struct TreeNode* reConstructBinaryTree(vector<int> pre,vector<int&g...原创 2018-04-07 21:25:42 · 525 阅读 · 0 评论 -
【数据结构】单链表的原地逆置
class Solution {public: ListNode* ReverseList(ListNode* head) { if(head==NULL) { return NULL; } ListNode *p,*q; p=head->next; head->...原创 2018-04-04 19:32:27 · 819 阅读 · 0 评论 -
二叉树的层次遍历
#include<iostream> using namespace std; typedef struct Node { int value; struct Node*left; struct Node*right; }; vector<vector<int>>levelOrder(Node*root) { vector<vec...原创 2018-09-11 19:30:12 · 400 阅读 · 0 评论 -
【数据结构】堆排序
堆排序:1、首先从最后一个父节点开始调整,保证父节点大于孩子节点。 2、建堆结束后,将第一个元素和最后一个元素进行交换,这样堆结构发生变化,继续进行堆调整。 void *swap(int *a,int *b) { int tmp=*a; *a=*b; *b=tmp; } void heap_ajust(int *arr,int start,int end) { int...原创 2018-09-12 18:04:12 · 256 阅读 · 0 评论