Modified Preorder Tree Traversal Case Study

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Functioneel Beheerder

Ben je op zoek naar een uitdagende baan bij één van de beste hogescholen van Nederland? Solliciteer dan op de functie Functioneel Beheerder bij Hogeschool Tio. De functie In deze functie ben je het aanspreekpunt en verantwoordelijk voor verschillende systemen, waaronder het studenteninformatiesysteem, de elektronische leeromgeving (ELO), Office365, CRM, HRM en Exact. Je zorgt er actief voor dat je klanten optimaal geholpen worden met de systemen. Taken die hierbij horen zijn het uitwerken van een functioneel ontwerp, het inrichten van de systemen, het aanleveren van managementinformatie en zoeken naar verbeteringen. Tevens geef je gebruikerstrainingen en neem je deel aan diverse

Bekijk vacature »

IT Architect

Voel jij je thuis op het scheidsvlak tussen de Business en IT? Ben jij in staat om de behoefte van de organisatie te vertalen naar een passende (IT)architectuur? En wil je graag werken voor een internationale verzekeraar? Dan ben jij onze nieuwe IT Architect. IT Architect / Developer Wat je bij ons doet Jij bent verantwoordelijk voor het ontwerpen, inrichten en waarborgen van een markt-conforme (IT) architectuur die de organisatie ondersteund bij de realisatie van haar strategie. Daarnaast sta je in directe afstemming met je collega architecten op onder andere ons hoofdkantoor. Hoe kan een werkdag eruit zien? Je woont

Bekijk vacature »

.NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

Datawarehouse specialist / ETL Ontwikkelaar

Bedrijfsomschrijving Onze klant is een semi overheidsinstelling. Ze zijn bezig met het bouwen van een nieuwe BI omgeving. Ze hebben onderzocht hoe het datalandschap en de informatievoorziening geprofessionaliseerd kan worden. Als DWH Ontwikkelaar kun jij hier een belangrijk rol in gaan spelen over hoe je het verder gaat uitvoeren. Het is een informele organisatie met een goede werksfeer. De mensen die er werken zijn ambitieus en werken met de nieuwste technieken. Ben jij toe aan een nieuwe uitdaging als datawarehouse ontwikkelaar waar jij kunt meebouwen aan een nieuwe omgeving? Dan is deze functie je op het lijf geschreven. Functieomschrijving Datawarehouse

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Met jouw expertise zorg je als java developer voor de meest plezierige en efficiënte klant ervaring. Met jouw state-of-the-art-systemen verbeter je onze business en maak je echt impact! Want als je in ons tech team werkt, houd je jezelf en Nederland in beweging. Wij zijn continu bezig onze business en processen te optimaliseren, zodat we onze klanten en kandidaten meer gemak, snelheid en transparantie kunnen bieden. Impactvolle tech, daar doen we het voor. Artificial intelligence, machine learning en innovatieve zoek oplossingen. Zoek oplossingen? Yes! Solliciteren moet makkelijk en leuk zijn. Toch? Daar kan jij aan bijdragen! wat ga je

Bekijk vacature »

Software Architect / Developer / C# / Azure / CQRS

Bedrijfsomschrijving Als Software Architect/Senior Developer kom je te werken bij een organisatie in regio Veenendaal wiens core business software development is voor oplossingen voor de vastgoed branche. Deze applicaties vormen de basis voor financiële processen en planningen en worden door een groot tal gerenommeerde organisaties in Nederland gebruikt. Samen met een team van 15 collega's (bestaande uit ontwikkelaars, testers, UX/UI Designer en een Product Owner), verdeeld over Nederland en een andere locatie in Europa, ga je als Software Architect / Senior Developer aan de slag om het gehele platform te moderniseren. Hiervoor maakten ze gebruik van Delphi en is het

Bekijk vacature »

Full Stack Java of C# developer

Op zoek naar leuke collega's waarmee je kunt lachen, gave projecten en een ambitieuze werkgever die heel goed voor je zorgt? Aangenaam: Profit4Cloud! Wij zijn nu met 55 collega's en werken sinds 2015 vanuit 5 vestigingen aan mooie projecten met een fijne groep collega's die allemaal maar één ding willen: mooie en slimme software-oplossingen ontwikkelen met de nieuwste technieken. We zijn goed bezig en zijn daarom op zoek naar versterking: Full Stack Java of C# developers met ervaring in back-end en front-end software ontwikkeling. Ben jij de Full Stack developer die enthousiast wordt van mooie projecten met high-end technologie? Dan

Bekijk vacature »

New Business Developer ICT - Noord-Holland - &euro

Wat ga je doen? Als New Business Developer ICT ben jij de verbindende schakel tussen je werkgever en nieuwe klanten. De diensten die jij aan te bieden hebt variëren van klant tot klant. Je helpt je klanten met het vinden van de juiste oplossingen voor hun vraagstukken in de Logistiek dmv een prachtige software tool. Juist deze oplossingen die jij je klanten aan kan bieden zijn uniek omdat alles volledig aangepast kan worden naar de vraag van de klanten. De focus ligt niet op het waarmaken van de klantverwachtingen, je wordt verwacht om altijd te streven naar het overtreffen van

Bekijk vacature »

Functioneel Applicatiebeheerder

Ben jij een slimme en klantgerichte applicatiebeheerder met oog voor detail die gestructureerd werkt, en wil je graag bij een leuk middelklein bedrijf met aardige en capabele mensen werken? Wij, IntelliMagic in Leiden, ontwikkelen interessante software op het gebied van IT Operations Analytics, die we leveren aan grote bedrijven in Europa en de Verenigde Staten. Voor de dienstverlening aan onze Europese klanten zoeken wij een enthousiaste functioneel applicatiebeheerder. In deze rol ben je verantwoordelijk voor het beheren van onze applicatie voor klanten die de software in de cloud draaien. Je richt klantomgevingen in, controleert dagelijks of alles goed loopt, lost

Bekijk vacature »

Full Stack .NET Developer voor zakelijke vergelijk

Dutch is mandatory for this position. Als Full Stack C#.NET Developer zorg jij ervoor dat het vergelijkingsplatform over de nieuwste functionaliteiten beschikt. Deze applicatie ondersteunt assurantiekantoren in het inzichtelijk maken en vergelijken van verschillende verzekeringsproducenten. Denk hierbij aan de meest actuele gegevens over premies en voorwaarden. Dit doen zij volledig onafhankelijk. Als Developer ben je bedreven in het samenvoegen van verschillende web services en databasen. Samen met jouw collega’s ben je verantwoordelijk voor het volledige ontwikkeltraject. Je schakelt makkelijk met verschillende afdelingen over bestaande en nieuw te ontwikkelen functionaliteiten. Naast het ontwikkelen van nieuwe functionaliteiten, zal je ook de bestaande

Bekijk vacature »

Functional Analyst

Zit je altijd vol ideeën over hoe dingen beter kunnen? Ben je graag bezig met verschillende opdrachten en vind je een uitdagende functie leuk? Bedenk je graag slimme oplossingen? Kom dan ons team versterken!! Gateway ontwikkelt en distribueert hèt standaard pakket voor Douane activiteiten. Hierbij gaat het om het sturen van aangiftes en ontvangen van retourberichten, koppelingen in verschillende formaten, real-time koppelingen met de Douane, zoals DTV, en veel meer. Alles gericht op de optimale controle over en inzicht in Douane processen. Met expertise, enthousiasme en kennis van de markt wordt er aanhoudend aan Gateway gewerkt – en al dit

Bekijk vacature »

Java developer (medior & senior)

Op zoek naar leuke collega's waarmee je kunt lachen, gave projecten en een ambitieuze werkgever die heel goed voor je zorgt? Aangenaam: Profit4Cloud! Wij zijn nu met 55 collega's en werken sinds 2015 vanuit 5 vestigingen aan mooie projecten met een fijne groep collega's die allemaal maar één ding willen: mooie en slimme software-oplossingen ontwikkelen met de nieuwste technieken. We zijn goed bezig en zijn daarom op zoek naar versterking: Java Software Engineers met ervaring in back-end en front-end software ontwikkeling. Ben jij de Java Software Engineer die enthousiast wordt van mooie projecten waar binnen jij een belangrijke rol speelt?

Bekijk vacature »

Database Developer

Bedrijfsomschrijving De organisatie is een gerenommeerde HR Cloud Solutions provider met miljoenen gebruikers. Hun platformen helpen klanten om Human Capital Management (HCM) ambities waar te maken en bieden payroll oplossingen voor de verloning van ongeveer 25% van alle Nederlandse werknemers. Als Database Developer kom je te werken binnen het Integratie API team. Binnen het domein is een Database opgezet volgens het EAV model, echter is het lastig om hier data uit te halen. Het doel van het team is dan ook, om efficiënt data uit de Database te halen en dit zo begrijpelijk mogelijk te presenteren aan de andere teams.

Bekijk vacature »

Java / Hippo developer

Functieomschrijving Ben jij een ervaren Java/Hippo ontwikkelaar en op zoek naar een internationale, creatieve en innovatieve omgeving? Wil jij werken in een divers applicatielandschap waar alle aspecten van het vakgebied van een developer aan bod komen, zodat je je volledig kan ontplooien? Bij Randstad Groep Nederland (HQ) zijn we op zoek naar jou! Wij zijn op zoek naar een Java/Hippo ontwikkelaar die per direct ons interne team komt versterken. Java/Hippo development bij Randstad Groep Nederland (HQ) Je komt te werken in het Online Search Experience team. Dit team werkt samen met de product owner aan onze web omgevingen van Randstad

Bekijk vacature »

Front-end Developer Vue.js Meewerkend voorman

Bedrijfsomschrijving Betreffende organisatie is gevestigd in de regio van Lelystad en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van diverse communicatiemiddelen aan de consumentenmarkt. Hierin staan innovatie, optimale klantbeleving en een passie voor technologie centraal. Ruim 100 medewerkers staan dagelijks klaar om te zorgen voor een optimale klantbeleving en optimalisatie van het aanbod. Om diverse businessprocessen binnen de organisatie vloeiend te laten verlopen is software ontwikkeling van essentieel belang. Binnen de organisatie zijn drie scrumteams dagelijks bezig met het beheer en de doorontwikkeling van het applicatielandschap. Zij werken aan verschillende projecten om de beleving van

Bekijk vacature »
Jan Koehoorn

Jan Koehoorn

11/09/2009 17:24:00
Quote Anchor link
PHP vrienden,

kunnen jullie even testen? Ik ben intussen een beetje code-blind geworden ...
Eventuele fouten/verbeteringen graag melden ;-)

http://www.jankoehoorn.nl/hierarchicalmenu/index.php

Bedoeling: een CSS menu, drie niveau's diep. Moet in een CMS terecht komen.

p.s. het zou kunnen dat hij gek gaat doen als we allemaal tegelijk gaan testen. Normaal gesproken is er slechts 1 persoon mee aan het sleutelen natuurlijk.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
PHP hulp

PHP hulp

13/05/2021 14:14:13
 
Dos Moonen

Dos Moonen

11/09/2009 19:11:00
Quote Anchor link
Het ziet er goed uit.
Alle lft en rgt waarden veranderen mooi wanneer je iets verwijderd.
Het enige wat ik kan bedenken wat je misschien nog wilt doen (als je er geen reden voor kan bedenken dus niet) is het volgende:
Nog een column maken genaamd "level" of "parent_id" of iets dergelijks wat je kunt gebruiken om ALLEEN de children te selecteren, niet alle descendants.
 
Jan Koehoorn

Jan Koehoorn

11/09/2009 19:45:00
Quote Anchor link
Zoals het nu is kun je alleen menu-items verwijderen die geen children hebben. De nummering in dit systeem verloopt zo:

http://sitepointstatic.com/graphics/sitepoint_numbering.gif

Je begint hij het top-level item aan de linkerkant.

1) heeft hij een child, dan ga je omlaag
2) heeft hij geen child, dan ga je naar rechts
3) kun je niet naar rechts dan ga je omhoog

Je kunt dus simpel controleren of een item geen children heeft, want dan is de waarde van lft maar 1 minder dan die van rgt. (Ik gebruik geen "left" en "right", want dat zijn reserved words in MySQL)

Mijn tabel ziet er zo uit:
id | title | parent_id | lft | rgt

Alleen children selecteren is gemakkelijk op deze manier: je neem alle item waarvan de waarden van lft en rgt tussen de waarde van lft en rgt van de parent liggen.

Een item wissen is al iets moeilijker. Je moet eerst checken of er geen children zijn. Vervolgens alle lft's die groter zijn dan de lft van het verwijderde item met 2 verlagen, en ook zo voor de rgt's.

Todo: een item toevoegen implementeren.
 
Emmanuel Delay

Emmanuel Delay

11/09/2009 20:06:00
Quote Anchor link
Ik heb hier vroeger nog een hoop mee gedaan.

Ik heb nog een MySQL stored procedures voor dingen als
alle subnodes selecteren
het pad van de node tot root
...
inserten als child van een node
drag-drop van een tak naar een andere node
...

Als je iets nodig hebt, mag je me pm'en.


O ja, trouwens: het werkt echt wel perfect en het is zeer handig. Eens je het systeem door hebt, speel je er mee.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 
Dos Moonen

Dos Moonen

11/09/2009 20:22:00
Quote Anchor link
Ik ben bekend met het sitepoint artikel.
Ik nam aan dat je alleen de velden 'id' , 'title', 'lft' en 'rgt' had, meer stonden er niet in de tabel (id is zo goed als een must have).

Quote:
Zoals het nu is kun je alleen menu-items verwijderen die geen children hebben

Zolang je niet gaat spelen met de values in de option tags ben ik het met je eens.
Ik kan namelijk de root verwijderen...
En andere niet-leafs.
 
Jan Koehoorn

Jan Koehoorn

11/09/2009 20:24:00
Quote Anchor link
Die drag en drop van de ene tak naar de andere klinkt interessant. De rest lukt al wel.

Edit:
Quote:
Ik kan namelijk de root verwijderen...
En andere niet-leafs.

Zoals gezegd, dit script is bedoeld voor in een CMS. Ik mag aannemen dat een klant er niet op uit is zijn eigen menustructuur om zeep te helpen.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Dos Moonen

Dos Moonen

11/09/2009 21:14:00
Quote Anchor link
Ga altijd uit van het ergste?

Je zei zelf al dat het controleren simpel is, waarom dan geen controle?
 
Jan Koehoorn

Jan Koehoorn

11/09/2009 21:20:00
Quote Anchor link
Oké, probeer nog een de root te verwijderen? En als het lukt, graag je methode?
 
Dos Moonen

Dos Moonen

11/09/2009 21:24:00
Quote Anchor link
Ik kan ondertussen alleen nog maar leafs verwijderen =] (dus het werkt nu goed)
 
Jan Koehoorn

Jan Koehoorn

11/09/2009 21:36:00
Quote Anchor link
Oké, bedankt voor de tip.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.