You can't really get a good answer for this without doing additional work.
After the SQL statement iteself, the most importasnt thing is that the statistics for the objects (tables and indexes in this case) are representative.
Then you really need to look at the access path that oracle chooses - many ways to do this.
Try
EXPLAIN PLAN SET STATEMENT_IS = 'SQL01' FOR
DELETE FROM item i
WHERE NOT EXISTS (SELECT 1 FROM item_queue q WHERE q.n=i.n)
AND NOT EXISTS (SELECT 1 FROM tool_queue t WHERE t.n=i.n);
Then
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
Maybe post the result here.
As you try different things - such as re-writing the query, modifying indexes etc, you will notice that the access path changes.
This is a rather complex area - and you will need to study / practice.
Deletes are slow for a number of reasons, but a big factor is the maintenance of the indexes on the table. However, in your case, you say there are only 10k rows which is pretty small. (BTW you did not give timings here. Is it taking 1, 10 or 100 seconds at the moment? and what do you want to achieve? ) So I would be focusing on the access path through the larger tables.
My first approach would might be:
DELETE FROM item i
WHERE NOT EXISTS
(SELECT NULL
FROM item_queue q,
tool_queue g
where q.key = g.key -- if the tables are related
AND q.n=i.n) ;
But like I say there are many factors here.