mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-24 10:16:28 +08:00
Several bug fixes.
This commit is contained in:
parent
c37f0981f0
commit
db5d1d21f3
9 changed files with 14 additions and 17 deletions
|
@ -13,7 +13,7 @@ TreeNode *res[MAX_SIZE];
|
|||
int resSize = 0;
|
||||
|
||||
/* 前序遍历:例题一 */
|
||||
static void preOrder(TreeNode *root) {
|
||||
void preOrder(TreeNode *root) {
|
||||
if (root == NULL) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ TreeNode *res[MAX_RES_SIZE][MAX_SIZE];
|
|||
int pathSize = 0, resSize = 0;
|
||||
|
||||
/* 前序遍历:例题二 */
|
||||
static void preOrder(TreeNode *root) {
|
||||
void preOrder(TreeNode *root) {
|
||||
if (root == NULL) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ typedef struct {
|
|||
Node **buckets; // 桶数组
|
||||
} HashMapChaining;
|
||||
|
||||
/* 构造方法 */
|
||||
/* 构造函数 */
|
||||
HashMapChaining *initHashMapChaining() {
|
||||
HashMapChaining *hashMap = (HashMapChaining *)malloc(sizeof(HashMapChaining));
|
||||
hashMap->size = 0;
|
||||
|
@ -46,7 +46,7 @@ HashMapChaining *initHashMapChaining() {
|
|||
return hashMap;
|
||||
}
|
||||
|
||||
/* 析构方法 */
|
||||
/* 析构函数 */
|
||||
void freeHashMapChaining(HashMapChaining *hashMap) {
|
||||
for (int i = 0; i < hashMap->capacity; i++) {
|
||||
Node *cur = hashMap->buckets[i];
|
||||
|
|
|
@ -25,7 +25,7 @@ typedef struct {
|
|||
// 函数声明
|
||||
void extend(HashMapOpenAddressing *hashMap);
|
||||
|
||||
/* 构造方法 */
|
||||
/* 构造函数 */
|
||||
HashMapOpenAddressing *newHashMapOpenAddressing() {
|
||||
HashMapOpenAddressing *hashMap = (HashMapOpenAddressing *)malloc(sizeof(HashMapOpenAddressing));
|
||||
hashMap->size = 0;
|
||||
|
@ -40,7 +40,7 @@ HashMapOpenAddressing *newHashMapOpenAddressing() {
|
|||
return hashMap;
|
||||
}
|
||||
|
||||
/* 析构方法 */
|
||||
/* 析构函数 */
|
||||
void delHashMapOpenAddressing(HashMapOpenAddressing *hashMap) {
|
||||
for (int i = 0; i < hashMap->capacity; i++) {
|
||||
Pair *pair = hashMap->buckets[i];
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
#include "../utils/common.h"
|
||||
|
||||
/* 数组表示下的二叉树结构 */
|
||||
/* 数组表示下的二叉树结构体 */
|
||||
typedef struct {
|
||||
int *tree;
|
||||
int size;
|
||||
} ArrayBinaryTree;
|
||||
|
||||
/* 构造方法 */
|
||||
/* 构造函数 */
|
||||
ArrayBinaryTree *createArrayBinaryTree(int *arr, int arrSize) {
|
||||
ArrayBinaryTree *abt = (ArrayBinaryTree *)malloc(sizeof(ArrayBinaryTree));
|
||||
abt->tree = malloc(sizeof(int) * arrSize);
|
||||
|
@ -155,7 +155,7 @@ int main() {
|
|||
free(res);
|
||||
|
||||
// 释放内存
|
||||
free(root);
|
||||
freeMemoryTree(root);
|
||||
free(abt);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -19,7 +19,7 @@ typedef struct ListNode {
|
|||
|
||||
/* 构造函数,初始化一个新节点 */
|
||||
ListNode *newListNode(int val) {
|
||||
ListNode *node, *next;
|
||||
ListNode *node;
|
||||
node = (ListNode *)malloc(sizeof(ListNode));
|
||||
node->val = val;
|
||||
node->next = NULL;
|
||||
|
|
|
@ -12,7 +12,7 @@ class ListNode {
|
|||
ListNode(this.val, [this.next]);
|
||||
}
|
||||
|
||||
/* Generate a linked list with a vector */
|
||||
/* Generate a linked list with a list */
|
||||
ListNode? listToLinkedList(List<int> list) {
|
||||
ListNode dum = ListNode(0);
|
||||
ListNode? head = dum;
|
||||
|
|
|
@ -14,14 +14,11 @@ from modules import Vertex, print_matrix
|
|||
class GraphAdjMat:
|
||||
"""基于邻接矩阵实现的无向图类"""
|
||||
|
||||
# 顶点列表,元素代表“顶点值”,索引代表“顶点索引”
|
||||
vertices: list[int] = []
|
||||
# 邻接矩阵,行列索引对应“顶点索引”
|
||||
adj_mat: list[list[int]] = []
|
||||
|
||||
def __init__(self, vertices: list[int], edges: list[list[int]]):
|
||||
"""构造方法"""
|
||||
# 顶点列表,元素代表“顶点值”,索引代表“顶点索引”
|
||||
self.vertices: list[int] = []
|
||||
# 邻接矩阵,行列索引对应“顶点索引”
|
||||
self.adj_mat: list[list[int]] = []
|
||||
# 添加顶点
|
||||
for val in vertices:
|
||||
|
|
|
@ -9,7 +9,7 @@ import utils
|
|||
|
||||
/* 基于堆查找数组中最大的 k 个元素 */
|
||||
func topKHeap(nums: [Int], k: Int) -> [Int] {
|
||||
// 将数组的前 k 个元素入堆
|
||||
// 初始化一个小顶堆,并将前 k 个元素建堆
|
||||
var heap = Heap(nums.prefix(k))
|
||||
// 从第 k+1 个元素开始,保持堆的长度为 k
|
||||
for i in stride(from: k, to: nums.count, by: 1) {
|
||||
|
|
Loading…
Reference in a new issue