Skip to content

Commit

Permalink
Rename the common modules.
Browse files Browse the repository at this point in the history
  • Loading branch information
krahets committed Apr 23, 2023
1 parent 145975b commit 40e6d2b
Show file tree
Hide file tree
Showing 32 changed files with 285 additions and 27 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ docs/overrides/
# build
build/
site/
utils/
./utils/

# test script
test.sh
2 changes: 1 addition & 1 deletion codes/csharp/chapter_array_and_linkedlist/linked_list.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Created Time: 2022-12-16
// Author: mingXta ([email protected])

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_array_and_linkedlist;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: hpstory ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;
using System.IO;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: hpstory ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_backtracking;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: hpstory ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_backtracking;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: hpstory ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_backtracking;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_computational_complexity;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_graph/graph_adjacency_list.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: zjkung1123 ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_graph;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_graph/graph_adjacency_matrix.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: zjkung1123 ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_graph;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_graph/graph_bfs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: hpstory ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_graph;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_graph/graph_dfs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: hpstory ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_graph;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_hashing/hash_map.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_hashing;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_heap/heap.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: zjkung1123 ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_heap;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_heap/my_heap.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: zjkung1123 ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_heap;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_searching/hashing_search.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_searching;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_searching/linear_search.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_searching;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_stack_and_queue/linkedlist_queue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_stack_and_queue;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_stack_and_queue/linkedlist_stack.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_stack_and_queue;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_tree/avl_tree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_tree;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_tree/binary_search_tree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_tree;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_tree/binary_tree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_tree;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_tree/binary_tree_bfs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_tree;
Expand Down
2 changes: 1 addition & 1 deletion codes/csharp/chapter_tree/binary_tree_dfs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

using hello_algo.include;
using hello_algo.utils;
using NUnit.Framework;

namespace hello_algo.chapter_tree;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Created Time: 2022-12-16
// Author: mingXta ([email protected])

namespace hello_algo.include;
namespace hello_algo.utils;

/* Definition for a singly-linked list node */
public class ListNode {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected]), krahets ([email protected])
*/

namespace hello_algo.include;
namespace hello_algo.utils;

public class Trunk {
public Trunk? prev;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: haptear ([email protected])
*/

namespace hello_algo.include;
namespace hello_algo.utils;

/* 二叉树节点类 */
public class TreeNode {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Author: zjkung1123 ([email protected]), krahets ([email protected])
*/

namespace hello_algo.include;
namespace hello_algo.utils;

/* 顶点类 */
public class Vertex {
Expand Down
36 changes: 36 additions & 0 deletions codes/java/utils/ListNode.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* File: ListNode.java
* Created Time: 2022-11-25
* Author: Krahets ([email protected])
*/

package utils;

/* Definition for a singly-linked list node */
public class ListNode {
public int val;
public ListNode next;

public ListNode(int x) {
val = x;
}

/* Generate a linked list with an array */
public static ListNode arrToLinkedList(int[] arr) {
ListNode dum = new ListNode(0);
ListNode head = dum;
for (int val : arr) {
head.next = new ListNode(val);
head = head.next;
}
return dum.next;
}

/* Get a list node with specific value from a linked list */
public static ListNode getListNode(ListNode head, int val) {
while (head != null && head.val != val) {
head = head.next;
}
return head;
}
}
118 changes: 118 additions & 0 deletions codes/java/utils/PrintUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
/**
* File: PrintUtil.java
* Created Time: 2022-11-25
* Author: Krahets ([email protected])
*/

package utils;

import java.util.*;

class Trunk {
Trunk prev;
String str;

Trunk(Trunk prev, String str) {
this.prev = prev;
this.str = str;
}
};

public class PrintUtil {

/* Print a matrix (Array) */
public static <T> void printMatrix(T[][] matrix) {
System.out.println("[");
for (T[] row : matrix) {
System.out.println(" " + row + ",");
}
System.out.println("]");
}

/* Print a matrix (List) */
public static <T> void printMatrix(List<List<T>> matrix) {
System.out.println("[");
for (List<T> row : matrix) {
System.out.println(" " + row + ",");
}
System.out.println("]");
}

/* Print a linked list */
public static void printLinkedList(ListNode head) {
List<String> list = new ArrayList<>();
while (head != null) {
list.add(String.valueOf(head.val));
head = head.next;
}
System.out.println(String.join(" -> ", list));
}

/**
* The interface of the tree printer
* This tree printer is borrowed from TECHIE DELIGHT
* https://www.techiedelight.com/c-program-print-binary-tree/
*/
public static void printTree(TreeNode root) {
printTree(root, null, false);
}

/* Print a binary tree */
public static void printTree(TreeNode root, Trunk prev, boolean isLeft) {
if (root == null) {
return;
}

String prev_str = " ";
Trunk trunk = new Trunk(prev, prev_str);

printTree(root.right, trunk, true);

if (prev == null) {
trunk.str = "———";
} else if (isLeft) {
trunk.str = "/———";
prev_str = " |";
} else {
trunk.str = "\\———";
prev.str = prev_str;
}

showTrunks(trunk);
System.out.println(" " + root.val);

if (prev != null) {
prev.str = prev_str;
}
trunk.str = " |";

printTree(root.left, trunk, false);
}

/* Helper function to print branches of the binary tree */
public static void showTrunks(Trunk p) {
if (p == null) {
return;
}

showTrunks(p.prev);
System.out.print(p.str);
}

/* Print a hash map */
public static <K, V> void printHashMap(Map<K, V> map) {
for (Map.Entry<K, V> kv : map.entrySet()) {
System.out.println(kv.getKey() + " -> " + kv.getValue());
}
}

/* Print a heap (PriorityQueue) */
public static void printHeap(Queue<Integer> queue) {
List<Integer> list = new ArrayList<>(queue);
System.out.print("堆的数组表示:");
System.out.println(list);
System.out.println("堆的树状表示:");
TreeNode root = TreeNode.listToTree(list);
printTree(root);
}
}
Loading

0 comments on commit 40e6d2b

Please sign in to comment.