AR-Trie Package

1 دقيقة قراءة

نظرة عامة

مكتبة Go لتنفيذ بنية بيانات Trie تدعم نوع rune مما يتيح العمل مع الحروف العربية والإنجليزية.

الوظائف المتاحة

  • InitTrie - تهيئة الشجرة
  • Insert - إدراج مفتاح واحد
  • Find - التحقق من وجود المفتاح
  • Put - ربط مفتاح بقيمة
  • Get - الحصول على قيمة المفتاح
  • Delete - حذف مفتاح
  • Search - البحث باستخدام البادئة

الأداء (Benchmark)

BenchmarkInsert-12    	2260291	      523.4 ns/op	      2 B/op	      0 allocs/op
BenchmarkFind-12      	152889574	        7.304 ns/op	      0 B/op	      0 allocs/op
BenchmarkPut-12       	2127642	      561.2 ns/op	     10 B/op	      1 allocs/op
BenchmarkGet-12       	169333138	        7.154 ns/op	      0 B/op	      0 allocs/op
BenchmarkKeys-12      	117835408	        9.887 ns/op	      0 B/op	      0 allocs/op
BenchmarkSearch-12    	28626381	      102.2 ns/op	     16 B/op	      1 allocs/op

أمثلة الاستخدام

tr := InitTrie()

tr.Insert("mohamed")
tr.Insert("محمد")
tr.Insert("محمود")
tr.Keys("مح") // [محمد محمود]

tr.Put("hello", "world")
tr.Search("he") // ["world"]

tr.Find("محمد") // true
tr.Delete("محمد")
tr.Find("محمد") // false

تطبيق عملي

تم استخدام المكتبة في بناء موقع للبحث في قاعدة بيانات تويتر المسربة.

شارك المقالة
خريطة الروابط
صفحات وسوم

مقالات ذات صلة