Review Swift codes (#1150)

* feat(swift): review for chapter_computational_complexity

* feat(swift): review for chapter_data_structure

* feat(swift): review for chapter_array_and_linkedlist

* feat(swift): review for chapter_stack_and_queue

* feat(swift): review for chapter_hashing

* feat(swift): review for chapter_tree

* feat(swift): add codes for heap article

* feat(swift): review for chapter_heap

* feat(swift): review for chapter_graph

* feat(swift): review for chapter_searching

* feat(swift): review for chapter_sorting

* feat(swift): review for chapter_divide_and_conquer

* feat(swift): review for chapter_backtracking

* feat(swift): review for chapter_dynamic_programming

* feat(swift): review for chapter_greedy

* feat(swift): review for utils

* feat(swift): update ci tool

* feat(swift): trailing closure

* feat(swift): array init

* feat(swift): map index
This commit is contained in:
nuomi1
2024-03-20 21:15:39 +08:00
committed by GitHub
parent 300a781fab
commit 7359a7cb4b
55 changed files with 293 additions and 224 deletions

View File

@@ -8,13 +8,11 @@ import utils
/* */
class ArrayHashMap {
private var buckets: [Pair?] = []
private var buckets: [Pair?]
init() {
// 100
for _ in 0 ..< 100 {
buckets.append(nil)
}
buckets = Array(repeating: nil, count: 100)
}
/* */
@@ -46,35 +44,17 @@ class ArrayHashMap {
/* */
func pairSet() -> [Pair] {
var pairSet: [Pair] = []
for pair in buckets {
if let pair = pair {
pairSet.append(pair)
}
}
return pairSet
buckets.compactMap { $0 }
}
/* */
func keySet() -> [Int] {
var keySet: [Int] = []
for pair in buckets {
if let pair = pair {
keySet.append(pair.key)
}
}
return keySet
buckets.compactMap { $0?.key }
}
/* */
func valueSet() -> [String] {
var valueSet: [String] = []
for pair in buckets {
if let pair = pair {
valueSet.append(pair.val)
}
}
return valueSet
buckets.compactMap { $0?.val }
}
/* */

View File

@@ -30,7 +30,7 @@ class HashMapChaining {
/* */
func loadFactor() -> Double {
Double(size / capacity)
Double(size) / Double(capacity)
}
/* */
@@ -76,9 +76,10 @@ class HashMapChaining {
for (pairIndex, pair) in bucket.enumerated() {
if pair.key == key {
buckets[index].remove(at: pairIndex)
size -= 1
break
}
}
size -= 1
}
/* */

View File

@@ -32,7 +32,7 @@ class HashMapOpenAddressing {
/* */
func loadFactor() -> Double {
Double(size / capacity)
Double(size) / Double(capacity)
}
/* key */