07 2018 档案
摘要:0. 序 本以为用最小堆实现个哈夫曼树是个简单的事情,结果一不小心就花了好几个小时才写完。。。实现过程中主要有三个方面的问题没注意,导致花了很多时间进行调试。 一是多重指针malloc分配时要多加注意; 二是指针一定要记得初始化,默认不一定为NULL; 三是结构体赋值问题。 其余的边界问题小心就好了
阅读全文
摘要:1. 最小堆结构定义如下: 2. 最小堆的基本操作函数如下: MinHeap createMinHeap(int capacity); // 创建最小堆 bool isFull(MinHeap minHeap); // 判断最小堆是否已满) bool isEmpty(MinHeap minHeap)
阅读全文
摘要:1. 二叉搜索树结点结构定义如下: 2. 二叉搜索树的基本操作函数如下: void preOrderTraverse(TreeNode head); // 先序遍历(递归) TreeNode searchBST(TreeNode head, int val); // 查找操作(尾递归) TreeNo
阅读全文
摘要:C++示例程序: class Solution { public: vector twoSum(vector& nums, int target) { int length = nums.size(); vector result; unordered_map um; for (int i = 0;
阅读全文
摘要:C++示例程序: class Solution { public: void moveZeroes(vector& nums) { int number = 0; int length = nums.size(); for(int i = 0; i
阅读全文
摘要:C++示例程序: class Solution { public: vector intersect(vector& nums1, vector& nums2) { vector result; unordered_map um; for (int i = 0; i
阅读全文
摘要:C++示例程序: class Solution { public: int singleNumber(vector& nums) { int length = nums.size(); if (length == 0 || length == 2) return 0; for (int i = 0;
阅读全文
摘要:C++示例程序: class Solution { public: bool containsDuplicate(vector& nums) { unordered_map um; for (int i = 0; i
阅读全文
摘要:C++示例程序: class Solution { public: void rotate(vector& nums, int k) { int length = nums.size(); if (length & nums, int start, int end) { int temp = 0;
阅读全文
摘要:C++示例程序: class Solution { public: int removeDuplicates(vector& nums) { if (nums.empty()) { return 0; } int number = 0; for (int i = 0; i
阅读全文
摘要:1. 最大堆结构定义如下: 2. 最大堆的基本操作函数如下: MaxHeap createMaxHeap(int capacity); // 创建最大堆 bool isFull(MaxHeap maxHeap); // 判断最大堆是否已满) bool isEmpty(MaxHeap maxHeap)
阅读全文
摘要:1. 二叉树结点结构定义如下: 2. 二叉树的基本操作函数如下: TreeNode createBinTree(); // 先序创建二叉树(递归) void preOrderTraverse(TreeNode head); // 先序遍历(递归) void inOrderTraverse(TreeN
阅读全文
摘要:1. 链栈含头结点模型示意图如下: 2. 链栈结构定义如下: 3. 链栈的基本操作函数如下: StackNode createStack(); // 创建栈头结点 void Push(StackNode head, int item); // 入栈 int Pop(StackNode head);
阅读全文
摘要:1. 顺序栈模型示意图如下: 2. 顺序栈结构定义如下: 3. 顺序栈的基本操作函数如下: StackNode createStack(); // 创建空栈 void Push(StackNode stack, int item); // 入栈 int Pop(StackNode stack); /
阅读全文
摘要:1. 链队列含头结点模型示意图如下: 2. 链队列结构定义如下: 3. 链队列的基本操作函数如下: LinkQueue createLinkQueue(); // 创建队列头结点 Insert(LinkQueue head, int item); // 插入 Delete(LinkQueue hea
阅读全文
摘要:1. 单链表含头结点模型示意图如下: 2. 单链表节点结构定义如下: 3. 单链表的基本操作函数如下: ListNode createList(); // 手动输入创建一个链表 void printList(ListNode head); // 打印链表数据 int getListLength(Li
阅读全文

浙公网安备 33010602011771号