fix: converted single to triple backticks5 (#36232)

This commit is contained in:
Randell Dawson
2019-06-20 14:14:23 -07:00
committed by Tom
parent 63a0fa745b
commit fce8901c56
75 changed files with 1299 additions and 1139 deletions

View File

@@ -18,21 +18,24 @@ localeTitle: جداول تجزئة
تتمثل فكرة التجزئة في توزيع المدخلات (أزواج المفاتيح / القيم) عبر مجموعة من المجموعات. عند الحصول على مفتاح ، تقوم الخوارزمية بحساب فهرس يشير إلى المكان الذي يمكن العثور فيه على الإدخال:
`index = f(key, array_size)
`
```
index = f(key, array_size)
```
يتم ذلك غالبًا في خطوتين:
`hash = hashfunc(key)
index = hash % array_size
`
```
hash = hashfunc(key)
index = hash % array_size
```
في هذه الطريقة ، يكون التجزئة مستقلاً عن حجم الصفيف ، ثم يتم تخفيضه إلى فهرس (رقم بين 0 و array\_size - 1) باستخدام مشغل modulo (٪).
دعنا نفكر في السلسلة S. أنت مطالب بحساب معدل تكرار جميع الأحرف في هذه السلسلة.
`string S = “ababcd”
`
```
string S = “ababcd”
```
إن أبسط طريقة للقيام بذلك هي التكرار على جميع الأحرف الممكنة وحساب ترددها واحدة تلو الأخرى. وقت تعقيد هذا الأسلوب هو O (26 \* N) حيث N هو حجم السلسلة ويوجد 26 حرفًا محتملًا.
@@ -51,15 +54,16 @@ localeTitle: جداول تجزئة
انتاج |
`a 2
b 2
c 1
d 1
e 0
f 0
z 0
`
```
a 2
b 2
c 1
d 1
e 0
f 0
z 0
```
دعونا نطبق التجزئة على هذه المشكلة. خذ تردد صفيف من حجم 26 و تجزئة الأحرف 26 مع مؤشرات الصفيف باستخدام دالة التجزئة. ثم ، التكرار فوق السلسلة وزيادة القيمة في التردد في الفهرس المقابل لكل حرف. تعقيد هذا الأسلوب هو O (N) حيث N هو حجم السلسلة.
@@ -84,15 +88,16 @@ localeTitle: جداول تجزئة
انتاج |
`a 2
b 2
c 1
d 1
e 0
f 0
z 0
`
```
a 2
b 2
c 1
d 1
e 0
f 0
z 0
```
### تصادم تجزئة