محول قائمة الحواف إلى مصفوفة التجاور
حوّل قائمة الحواف إلى مصفوفة تجاور مع ترتيب العقد ظاهرًا: الأسطر الثلاثة A B وB C وC A تعطي مصفوفة متناظرة من 3 في 3 أصفارها على القطر. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- A B B C C A
- العقد
- A, B, C
- عدد الحواف
- 3
حوّلوا قائمة حواف مختصرة إلى مصفوفة تجاور واضحة من دون إنشاء الجدول يدويا. أدخلوا اتصالا واحدا في كل سطر، وحددوا ما إذا كان الرسم البياني موجها وما إذا كان لكل حافة وزن، لتحصلوا على مصفوفة مربعة مع ترتيب صريح للعقد. تقبل الأداة الأسطر المفصولة بفواصل أو مسافات، وتحافظ على العقد المعزولة من خلال قائمة اختيارية، وترتب بقية الرؤوس ترتيبا ثابتا بحسب أول ظهور. وهي مناسبة لعرض الخوارزميات في صورة مرئية، وللتدريس والتمارين المحلولة والتحقق السريع من بيانات الرسم البياني قبل البرمجة.
اكتبوا قائمة الحواف واختاروا نموذج الرسم البياني
ابدؤوا بحافة واحدة في كل سطر. في الرسم غير الموزون، اكتبوا اسمي عقدتين مثل A B أو A,B؛ فالقيمة الأولى هي المصدر والثانية هي الوجهة. تبقى أسماء العقد تسميات كما هي، ولذلك يمكن استعمال الحروف والأرقام والمعرفات القصيرة، بشرط ألا يحتوي الاسم على مسافات أو فواصل.
فعّلوا الوضع الموجه عندما ينبغي للحافة من A إلى B أن تحدد الصف A والعمود B فقط. واتركوه معطلا عندما ينبغي للحافة نفسها أن تحدد أيضا الصف B والعمود A. في الرسم الموزون، فعّلوا خيار الأوزان وأضيفوا في كل سطر عددا منتهيا غير صفري بوصفه القيمة الثالثة، مثل A B 2.5.
ترفض الأداة خلط الأسطر الموزونة بغير الموزونة لأن ذلك يجعل معنى المصفوفة غير متسق. يتم تجاهل الأسطر الفارغة، أما الأسطر الناقصة والقيم الزائدة والحواف المكررة فتنتج خطأ إدخال محددا بدلا من تغيير الرسم بصمت. وتضمن هذه الصرامة نتيجة صالحة للدروس والأمثلة الآلية التي تتطلب تفسيرا واضحا لكل خانة.
اقرؤوا ترتيب العقد والصفوف والأعمدة
لا يكون لمصفوفة التجاور معنى واضح إلا عند معرفة ترتيب عقدها، ولذلك تعرض النتيجة دائما تسميات العقد مع المصفوفة. إذا لم تقدموا قائمة عقد، تظهر الرؤوس حسب ترتيب أول ورود لها عند قراءة الحواف من أعلى إلى أسفل. يصف الصف i الحواف الخارجة من العقدة i، ويمثل العمود j عقدة الوجهة j.
في المصفوفة غير الموزونة، يدل 1 على وجود اتصال ويدل 0 على عدم وجوده. وفي الوضع الموزون يحل وزن الحافة محل 1، بينما يبقى 0 دالا على عدم تقديم حافة. تنتج الرسوم غير الموجهة مصفوفة متناظرة لأن كل حافة تملأ أيضا الخانة المنعكسة.
وقد تكون مصفوفة الرسم الموجه غير متناظرة، مما يوضح العلاقات الداخلة والخارجة مباشرة. تدعم الأداة الحلقات الذاتية وتضعها على القطر الرئيسي. وتورد الاستجابة كذلك إعدادات التوجيه والأوزان المختارة وعدد حواف الإدخال، مما يسهل تسمية العرض المرئي والتحقق من إدخال جميع الاتصالات المقصودة.
أدرجوا العقد المعزولة وتجنبوا البيانات الملتبسة
لا تستطيع قائمة الحواف إظهار رأس لا يملك أي حافة. للحفاظ على العقد المعزولة، قدموا مصفوفة العقد الاختيارية بالترتيب الدقيق المطلوب للعرض. تبدأ النتيجة بهذه الأسماء، ثم تضاف أي نقطة طرفية لا تظهر إلا في نص الحواف عند أول ورود لها.
ترفض الأداة الأسماء المكررة في تلك المصفوفة لأن تكرار تسميات الصفوف يجعل المصفوفة ملتبسة. كما ترفض الحواف المكررة بدلا من جمع أوزانها أو اعتماد السطر الأخير. في الرسم غير الموجه، تمثل A B وB A الحافة نفسها؛ أما في الرسم الموجه فهما حافتان منفصلتان تشغلان خانتين مختلفتين.
وترفض الأوزان الصفرية لأن المصفوفة تخصص 0 للدلالة على غياب الاتصال. تفيد هذه القواعد في تدريس اجتياز الرسوم وحساب الدرجات وأقصر المسارات والتمثيل بالمصفوفات، إذ يمكن تتبع كل حافة إلى خانة متوقعة أو زوج متناظر.
حالات الاستخدام
حضّروا درسا في الخوارزميات
حوّلوا رسما صغيرا إلى المصفوفة التي سيستخدمها الطلاب في تمارين الاجتياز أو إمكانية الوصول أو الدرجات.
تحققوا من رسم موزون
تأكدوا من وقوع كل حافة موزونة في الصف والعمود المتوقعين قبل شرح خوارزمية أقصر مسار.
جهزوا بيانات عرض الرسم
حوّلوا الحواف الملصقة إلى ترتيب ثابت للعقد وشبكة رقمية يمكن عرضها مباشرة في جدول أو خريطة حرارية.
الأسئلة الشائعة
ما تنسيقات الأسطر المقبولة؟
استخدموا قيمتين تفصل بينهما مسافة أو فاصلة لكل حافة غير موزونة، وثلاث قيم لكل حافة موزونة.
كيف توضع الحواف الموجهة؟
توضع الحافة من A إلى B في الصف A والعمود B. ولا يملأ الوضع الموجه الخانة المنعكسة.
كيف يمكن إدراج عقدة معزولة؟
أضيفوا اسمها إلى مصفوفة العقد الاختيارية. ويمكن لهذه المصفوفة أيضا تحديد الترتيب المفضل للصفوف والأعمدة.
لماذا ترفض الأوزان الصفرية؟
يستخدم الناتج 0 لتمثيل غياب الاتصال، ولذلك لا يمكن تمييز الحافة ذات الوزن الصفري عن الحافة الغائبة.
ماذا يحدث إذا تكررت الحافة نفسها مرتين؟
تُرفض برسالة محددة بدل دمجها أو عدّها مرتين. وتُرفض بالطريقة نفسها الأسطر الناقصة والقيم الزائدة والخلط بين أسطر بأوزان وأخرى بلا أوزان، ليكون لكل خانة في المصفوفة مصدر واضح.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/edges-to-adjacency-matrix \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"A B\nB C\nC A"}'const res = await fetch("https://api.kit.forhosting.com/dev/edges-to-adjacency-matrix", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "A B\nB C\nC A"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/edges-to-adjacency-matrix",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "A B\nB C\nC A"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/edges-to-adjacency-matrix", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"A B\\nB C\\nC A"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"A B\nB C\nC A"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/edges-to-adjacency-matrix", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "A B\nB C\nC A"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.edges_to_adjacency_matrix",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 200000 |
max_nodes | 500 |
max_edges | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أدرجوا العقد المعزولة وتجنبوا البيانات الملتبسة
تكلف العملية الحتمية نفسها عبر API مبلغ $0.002 لكل طلب، ولا تستخدم شبكة أو عشوائية أو حالة مخزنة.
أسئلة تقنية
ما تكلفة التحويل عبر API؟
يكلف كل طلب API مبلغ $0.002. ويمكن تشغيل إصدار المتصفح محليا مجانا.