The document discusses deletion in AVL trees. It outlines 5 cases to consider when deleting a node from an AVL tree and describes the actions to take in each case, such as changing balance factors, performing single or double rotations, and continuing up the tree. It also provides examples of each case.
Dives into how MySQL indexes work under the hood, and provides strategies for efficiently indexing your data to reduce query times.
Presented at Western Slope Tech Meetup in Montrose, CO 3/29/17
My books- Hacking Digital Learning Strategies http://hackingdls.com & Learning to Go https://gum.co/learn2go
Resources at http://shellyterrell.com/classmanagement
The reality for companies that are trying to figure out their blogging or content strategy is that there's a lot of content to write beyond just the "buy now" page.
Dives into how MySQL indexes work under the hood, and provides strategies for efficiently indexing your data to reduce query times.
Presented at Western Slope Tech Meetup in Montrose, CO 3/29/17
My books- Hacking Digital Learning Strategies http://hackingdls.com & Learning to Go https://gum.co/learn2go
Resources at http://shellyterrell.com/classmanagement
The reality for companies that are trying to figure out their blogging or content strategy is that there's a lot of content to write beyond just the "buy now" page.
The answer is that, yes, we don’t want the function to change the parameter, but neither do we want to use up time and memory creating and storing an entire copy of it. So, we make the original object available to the called function by using pass-by-reference. We also mark it constant so that the function will not alter it, even by mistake.
Optimizing the Catalyst Optimizer for Complex PlansDatabricks
For more than 6 years, Workday has been building various analytics products powered by Apache Spark. At the core of each product offering, customers use our UI to create data prep pipelines, which are then compiled to DataFrames and executed by Spark under the hood. As we built out our products, however, we started to notice places where vanilla Spark is not suitable for our workloads. For example, because our Spark plans are programmatically generated, they tend to be very complex, and often result in tens of thousands of operators. Another common issue is having case statements with thousands of branches, or worse, nested expressions containing such case statements.
With the right combination of these traits, the final DataFrame can easily take Catalyst hours to compile and optimize – that is, if it doesn’t first cause the driver JVM to run out of memory.
In this talk, we discuss how we addressed some of our pain points regarding complex pipelines. Topics covered include memory-efficient plan logging, using common subexpression elimination to remove redundant subplans, rewriting Spark’s constraint propagation mechanism to avoid exponential growth of filter constraints, as well as other performance enhancements made to Catalyst rules.
We then apply these changes to several production pipelines, showcasing the reduction of time spent in Catalyst, and list out ideas for further improvements. Finally, we share tips on how you too can better handle complex Spark plans.
Algorithm to convert postfix expression into an expression tree. We already have an expression to convert an infix expression to postfix. Read a symbol from the postfix expression. If symbol is an operand, put it in a one node tree and push it on a stack
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
The answer is that, yes, we don’t want the function to change the parameter, but neither do we want to use up time and memory creating and storing an entire copy of it. So, we make the original object available to the called function by using pass-by-reference. We also mark it constant so that the function will not alter it, even by mistake.
Optimizing the Catalyst Optimizer for Complex PlansDatabricks
For more than 6 years, Workday has been building various analytics products powered by Apache Spark. At the core of each product offering, customers use our UI to create data prep pipelines, which are then compiled to DataFrames and executed by Spark under the hood. As we built out our products, however, we started to notice places where vanilla Spark is not suitable for our workloads. For example, because our Spark plans are programmatically generated, they tend to be very complex, and often result in tens of thousands of operators. Another common issue is having case statements with thousands of branches, or worse, nested expressions containing such case statements.
With the right combination of these traits, the final DataFrame can easily take Catalyst hours to compile and optimize – that is, if it doesn’t first cause the driver JVM to run out of memory.
In this talk, we discuss how we addressed some of our pain points regarding complex pipelines. Topics covered include memory-efficient plan logging, using common subexpression elimination to remove redundant subplans, rewriting Spark’s constraint propagation mechanism to avoid exponential growth of filter constraints, as well as other performance enhancements made to Catalyst rules.
We then apply these changes to several production pipelines, showcasing the reduction of time spent in Catalyst, and list out ideas for further improvements. Finally, we share tips on how you too can better handle complex Spark plans.
Algorithm to convert postfix expression into an expression tree. We already have an expression to convert an infix expression to postfix. Read a symbol from the postfix expression. If symbol is an operand, put it in a one node tree and push it on a stack
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
1. Class No.22
Data Structures
http://ecomputernotes.com
1
2. Deletion in AVL Tree
There are 5 cases to consider.
Let us go through the cases graphically and
determine what action to take.
We will not develop the C++ code for
deleteNode in AVL tree. This will be left as
an exercise.
http://ecomputernotes.com
2
3. Deletion in AVL Tree
Case 1a: the parent of the deleted node had a balance of 0
and the node was deleted in the parent’s left subtree.
Delete on
this side
Action: change the balance of the parent node and stop. No
further effect on balance of any higher node.
http://ecomputernotes.com
3
4. Deletion in AVL Tree
Here is why; the height of left tree does not change.
0
4
2 6 1
1 3 5 7 2
http://ecomputernotes.com
4
5. Deletion in AVL Tree
Here is why; the height of left tree does not change.
0
4 4
2 6 1 2 6
1 3 5 7 2 3 5 7
remove(1)
http://ecomputernotes.com
5
6. Deletion in AVL Tree
Case 1b: the parent of the deleted node had a balance of 0
and the node was deleted in the parent’s right subtree.
Delete on
this side
Action: (same as 1a) change the balance of the parent node
and stop. No further effect on balance of any higher node.
http://ecomputernotes.com
6
7. Deletion in AVL Tree
Case 2a: the parent of the deleted node had a balance of 1
and the node was deleted in the parent’s left subtree.
Delete on
this side
Action: change the balance of the parent node. May have
caused imbalance in higher nodes so continue up the tree.
http://ecomputernotes.com
7
8. Deletion in AVL Tree
Case 2b: the parent of the deleted node had a balance of -1
and the node was deleted in the parent’s right subtree.
Delete on
this side
Action: same as 2a: change the balance of the parent node.
May have caused imbalance in higher nodes so continue up
the tree.
http://ecomputernotes.com 8
9. Deletion in AVL Tree
Case 3a: the parent had balance of -1 and the node was
deleted in the parent’s left subtree, right subtree was balanced.
http://ecomputernotes.com
9
10. Deletion in AVL Tree
Case 3a: the parent had balance of -1 and the node was
deleted in the parent’s left subtree, right subtree was balanced.
Single rotate
Action: perform single rotation, adjust balance. No effect on
balance of higher nodes so stop here.
10
11. Deletion in AVL Tree
Case 4a: parent had balance of -1 and the node was deleted in
the parent’s left subtree, right subtree was unbalanced.
http://ecomputernotes.com
11
12. Deletion in AVL Tree
Case 4a: parent had balance of -1 and the node was deleted in
the parent’s left subtree, right subtree was unbalanced.
double
rotate
Action: Double rotation at B. May have effected the balance of
higher nodes, so continue up the tree.
12
13. Deletion in AVL Tree
Case 5a: parent had balance of -1 and the node was deleted in
the parent’s left subtree, right subtree was unbalanced.
http://ecomputernotes.com
13
14. Deletion in AVL Tree
Case 5a: parent had balance of -1 and the node was deleted in
the parent’s left subtree, right subtree was unbalanced.
single
rotate
Action: Single rotation at B. May have effected the balance of
higher nodes, so continue up the tree.
14
15. Other Uses of Binary Trees
Expression Trees
http://ecomputernotes.com
15
16. Expression Trees
Expression trees, and the more general
parse trees and abstract syntax trees are
significant components of compilers.
Let us consider the expression tree.
http://ecomputernotes.com
16
18. Parse Tree in Compiler
A := A + B * C <assign>
<id> := <expr>
A
<expr> + <term>
<term>
<term> * <factor>
<factor>
<factor> <id>
<id>
Expression grammar
<id> C
A
<assign> <id> := <expr> B
<id> A | B | C
<expr> <expr> + <term> |
<term>
<term> <term> * <factor> |
<factor>
<factor> ( <expr> ) | <id> 18
19. Parse Tree for an SQL query
Consider querying a movie database
Find the titles for movies with stars born in 1960
The database has tables
StarsIn(title, year, starName)
MovieStar(name, address, gender, birthdate)
SELECT title
FROM StarsIn, MovieStar
WHERE starName = name AND birthdate LIKE ‘%1960’ ;
http://ecomputernotes.com
19
20. SQL Parse Tree
< Query >
SELECT <SelList> FROM <FromList> WHERE <Condition>
<Attribute> <RelName> , <FromList> AND
title StarsIn <RelName>
MovieStar
<Condition> <Condition>
<Attribute> = <Attribute> <Attribute> LIKE <Pattern>
starName name birthdate ‘%1960’
http://ecomputernotes.com
20
21. Compiler Optimization
Common subexpression:
(f+d*e)+((d*e+f)*g)
+
+ *
f * + g
d e * f
d e
http://ecomputernotes.com
21
22. Compiler Optimization
(Common subexpression:
(f+d*e)+((d*e+f)*g)
+
+ *
f * g
d e
Graph!
http://ecomputernotes.com
22